Você pode encontrar um exemplo de módulo CRUD (que também inclui uma grade) aqui . Não tenho certeza se funciona na versão mais recente, mas você deve conseguir extrair o código necessário a partir daí.
Marius
Respostas:
6
Primeiro você precisa criar uma página para a grade. Veja o exemplo da nova página do magento2
Em seguida, adicione o componente da interface do usuário no layout para esta visualização de página / adminhtml / layout / samplegrid_index_index.xml
: - então o que vai estar em xml grade e controlador na url não consigo encontrar para que você possa me ajudar, fornecendo código correto
Pradeep Kumar
como é que se juntar a mesa e getdata pela chave de referência em di.xml
xanka
Esse formato sample_grid_entity_listing.xml não é mais válido (a partir do 2.0.0). Houve várias mudanças de formato entre as versões RC e final. Consegui fazê-lo funcionar com base Sales/view/adminhtml/ui_component/sales_order_grid.xml.
Finalmente, a grade é feita com o componente da interface do usuário. Abaixo estão as etapas e os arquivos necessários para a grade com a opção de filtro.
Primeiro, precisamos criar o layout de ação de índice xml que é:
se você tiver a opção de exclusão em massa, precisará criar o arquivo de ação massdelete no controlador que é app \ code \ Sugarcode \ Test \ Controller \ Adminhtml \ Lists \ MassDelete.php
Até aqui, você pode filtrar, classificar a opção e a ação em massa é concluída e seu bom trabalho, mas a pesquisa de texto completo não funciona, se isso estiver corrigido, a grade completa estiver pronta, alguém pode me ajudar a corrigir esse problema.
Houve alguma alteração documentada do 2.0 para o 2.2.3 do Magento? Ou recursos atualizados ou isso ainda está sendo aplicado?
Anthony Cicchelli
1
Para criar uma nova página de grade, siga as etapas abaixo em meu ex. Eu peguei o meu módulo personalizado chamado teste e também os recursos também são chamados teste
Block \ Adminhtml \ Lists \ Grid.php, você precisa mencionar o gerenciador de objetos da coleção, ou seja \Sugarcode\Test\Model\TestFactory $testFactory,
impotente para substituir apenas os dados da grade após a pesquisa
Ao contrário do magento1.x no magetno2, precisamos mencionar o caminho do modelo no arquivo de bloco do contêiner e você precisa criar um arquivo na pasta do modelo que seja
visualize \ adminhtml \ templates \ lists \ lists.phtml e no mínimo um código de linha de
<?php echo $block->getGridHtml()?>
é isso claro cache e você pode ver a página de grade
Sua maneira ainda pode funcionar, mas está obsoleta.
Kandy
1
Isso funciona por enquanto, mas em breve não funcionará. O sistema de grade está se movendo para os "ui_components" gradualmente. Dê uma olhada em como a grade de pedidos para ver como funciona.
Marius
@ Marius Qual é a principal diferença entre ui_components e simples criação de grade.
Bhupendra Jadeja
O componente da interface do usuário é apenas um arquivo xml. Configuração tão declarativa. Grades clássicas requerem código. Também tge componente ui tem mais algumas funcionalidades como salvar o estado
Marius
Esta solução funcionou para mim. Como o @Marius diz que essa abordagem será removida em breve e será substituída por "ui_components". Mas não há tutorial oficial para o Grid usando "ui_components" e que fornece detalhes completos sobre tabelas de junção e personalização.
Suman-PHP4U 08/08/19
-2
Para criar uma grade administrativa do Magento2 Siga as instruções do blog abaixo:
Respostas:
Primeiro você precisa criar uma página para a grade. Veja o exemplo da nova página do magento2
Em seguida, adicione o componente da interface do usuário no layout para esta visualização de página / adminhtml / layout / samplegrid_index_index.xml
e definição para a visualização do componente da interface do usuário / adminhtml / ui_component / sample_grid_entity_listing.xml
e definir o provedor de coleta em di
Mais detalhes sobre os componentes da interface do usuário, consulte a documentação oficial
fonte
Sales/view/adminhtml/ui_component/sales_order_grid.xml
.Finalmente, a grade é feita com o componente da interface do usuário. Abaixo estão as etapas e os arquivos necessários para a grade com a opção de filtro.
Primeiro, precisamos criar o layout de ação de índice xml que é:
Sugarcode \ Test \ view \ adminhtml \ layout \ test_lists_index.xml
O segundo arquivo é o componente ui xml, ou seja, se usarmos esse xml, não é necessário Grid.php tudo está configurado apenas a partir deste xml
código \ Sugarcode \ Test \ view \ adminhtml \ ui_component \ test_lists_listing.xml
precisamos mencionar algumas tags para o provedor de dados em di.xml
Para obter filtros, precisamos do DataProvider, que estará dentro de Model // DataProvider.php, mencionado em test_lists_listing.xml, que é
app \ code \ Magento \ Cms \ Model \ Block \ DataProvider.php
se você tiver a opção de exclusão em massa, precisará criar o arquivo de ação massdelete no controlador que é app \ code \ Sugarcode \ Test \ Controller \ Adminhtml \ Lists \ MassDelete.php
Até aqui, você pode filtrar, classificar a opção e a ação em massa é concluída e seu bom trabalho, mas a pesquisa de texto completo não funciona, se isso estiver corrigido, a grade completa estiver pronta, alguém pode me ajudar a corrigir esse problema.
fonte
Para criar uma nova página de grade, siga as etapas abaixo em meu ex. Eu peguei o meu módulo personalizado chamado teste e também os recursos também são chamados teste
etc / adminhtml / menu.xml
etc / adminhtml / acl.xml
certifique-se de que o administrador deve ter roteadores etc / adminhtml / routes.xml
agora crie 2 novas ações, uma é a visualização padrão, que é a ação do índice, e a segunda é a após a busca, precisamos da ação da grade
Controller / Adminhtml / Lists / Index.php
Controller / Adminhtml / Lists / Grid.php
vamos passar a bloquear como no magento1.x no magneto2 também precisamos de container e Grid.php
Block \ Adminhtml \ Lists.php
Block \ Adminhtml \ Lists \ Grid.php, você precisa mencionar o gerenciador de objetos da coleção, ou seja
\Sugarcode\Test\Model\TestFactory $testFactory
,etapas finais são os arquivos é visualizar o layout xml, aqui também temos o layout para o índice e a grade
view \ adminhtml \ layout \ test_lists_index.xml
view \ adminhtml \ layout \ test_lists_grid.xml
no layout de grade xml
impotente para substituir apenas os dados da grade após a pesquisa
Ao contrário do magento1.x no magetno2, precisamos mencionar o caminho do modelo no arquivo de bloco do contêiner e você precisa criar um arquivo na pasta do modelo que seja
visualize \ adminhtml \ templates \ lists \ lists.phtml e no mínimo um código de linha de
é isso claro cache e você pode ver a página de grade
fonte
Para criar uma grade administrativa do Magento2 Siga as instruções do blog abaixo:
https://www.aurigait.com/blog/magento-2-admin-grid/
fonte