Comment créer une grille d'administration dans Magento2?
10
J'essaie de créer un module dans magento2, maintenant j'ai bloqué la création d'une page de grille dans le côté administrateur, faites-moi savoir si quelqu'un l'a déjà fait
Vous pouvez trouver un exemple de module CRUD (qui comprend également une grille) ici . Je ne sais pas si cela fonctionne sur la dernière version, mais vous devriez pouvoir en extraire le code dont vous avez besoin.
Marius
Réponses:
6
Vous devez d'abord créer une page pour la grille. Voir l'exemple d'une nouvelle page magento2
Ensuite, ajoutez le composant d'interface utilisateur dans la mise en page pour cette vue de page / adminhtml / layout / samplegrid_index_index.xml
: - alors ce sera dans la grille xml et contrôleur URL je ne peux pas trouver si Pouvez - vous me aide en fournissant le code correct
Pradeep Kumar
comment joindre table et getdata par clé de référence dans di.xml
xanka
Ce format sample_grid_entity_listing.xml n'est plus valide (à partir de 2.0.0). Il y a eu divers changements de format entre les versions RC et la version finale. J'ai pu le faire fonctionner sur la base Sales/view/adminhtml/ui_component/sales_order_grid.xml.
Le deuxième fichier est le composant ui xml, c'est-à-dire que si nous utilisons ce xml, pas besoin de Grid.php, tout est configuré à partir de ce xml uniquement
Pour réaliser les filtres, nous avons besoin de DataProvider qui sera à l'intérieur de Model // DataProvider.php qui est mentionné dans test_lists_listing.xml qui est
si vous avez l'option de suppression en masse, vous devez créer un fichier d'action de suppression de masse dans le contrôleur qui est app \ code \ Sugarcode \ Test \ Controller \ Adminhtml \ Lists \ MassDelete.php
Jusqu'à ce que vous puissiez filtrer, trier les options et que l'action en masse soit effectuée et que sa recherche en texte intégral fonctionne correctement, mais que cela ne fonctionne pas si cela est résolu, la grille complète est prête. Quelqu'un peut m'aider à résoudre ce problème.
Y a-t-il eu des changements documentés de 2.0 à 2.2.3 de Magento sur tout cela? Ou des ressources mises à jour ou tout cela s'applique-t-il toujours?
Anthony Cicchelli
1
pour créer une nouvelle page de grille, veuillez suivre les étapes ci-dessous dans mon ex j'ai pris mon module personnalisé appelé test et les ressources sont également appelées test
créez maintenant 2 nouvelles actions, une pour la vue par défaut qui est une action d'index et la seconde pour après serach, nous avons besoin d'une action de grille
impuissant à remplacer uniquement les données de la grille après la recherche
contrairement à magento1.x dans magetno2, nous devons mentionner le chemin du modèle dans le fichier de bloc de conteneur et vous devez créer un fichier dans le dossier de modèle qui est
afficher \ adminhtml \ templates \ lists \ lists.phtml et au moins un code de ligne de
<?php echo $block->getGridHtml()?>
c'est clair le cache et vous pouvez voir la page de la grille
Son chemin peut encore fonctionner mais déconseillé.
KAndy
1
Cela fonctionne pour l'instant, mais ce ne sera bientôt pas le cas. Le système de grille se déplace progressivement vers les "ui_components". Jetez un oeil à la façon dont la grille de commande pour voir comment cela fonctionne.
Marius
@Marius Quelle est la principale différence entre ui_components et la création d'une grille simple.
Bhupendra Jadeja
Le composant Ui est juste un fichier xml. Configuration donc déclarative. Les grilles classiques nécessitent du code. Le composant tge ui a également quelques fonctionnalités supplémentaires comme la sauvegarde de l'état
Marius
Cette solution a fonctionné pour moi. Comme @Marius le dit, cette approche sera bientôt supprimée et sera remplacée par "ui_components". Mais il n'y a pas de tutoriel officiel pour Grid utilisant "ui_components" et qui donne des détails complets sur les tables de jointure et la personnalisation.
Suman-PHP4U
-2
Pour créer la grille d'administration Magento2 Veuillez suivre les instructions du blog ci-dessous:
Réponses:
Vous devez d'abord créer une page pour la grille. Voir l'exemple d'une nouvelle page magento2
Ensuite, ajoutez le composant d'interface utilisateur dans la mise en page pour cette vue de page / adminhtml / layout / samplegrid_index_index.xml
et définition de la vue du composant d'interface utilisateur / adminhtml / ui_component / sample_grid_entity_listing.xml
et définir le fournisseur de collecte dans di
Plus de détails sur les composants UI voir dans la documentation officielle
la source
Sales/view/adminhtml/ui_component/sales_order_grid.xml
.Enfin la grille est faite avec le composant Ui Voici les étapes et les fichiers qui sont nécessaires pour la grille avec l'option de filtre.
Nous devons d'abord créer un fichier XML de disposition d'action d'index qui est:
Sugarcode \ Test \ view \ adminhtml \ layout \ test_lists_index.xml
Le deuxième fichier est le composant ui xml, c'est-à-dire que si nous utilisons ce xml, pas besoin de Grid.php, tout est configuré à partir de ce xml uniquement
code \ Sugarcode \ Test \ view \ adminhtml \ ui_component \ test_lists_listing.xml
nous devons mentionner quelques balises pour le fournisseur de données dans di.xml
Pour réaliser les filtres, nous avons besoin de DataProvider qui sera à l'intérieur de Model // DataProvider.php qui est mentionné dans test_lists_listing.xml qui est
app \ code \ Magento \ Cms \ Model \ Block \ DataProvider.php
si vous avez l'option de suppression en masse, vous devez créer un fichier d'action de suppression de masse dans le contrôleur qui est app \ code \ Sugarcode \ Test \ Controller \ Adminhtml \ Lists \ MassDelete.php
Jusqu'à ce que vous puissiez filtrer, trier les options et que l'action en masse soit effectuée et que sa recherche en texte intégral fonctionne correctement, mais que cela ne fonctionne pas si cela est résolu, la grille complète est prête. Quelqu'un peut m'aider à résoudre ce problème.
la source
pour créer une nouvelle page de grille, veuillez suivre les étapes ci-dessous dans mon ex j'ai pris mon module personnalisé appelé test et les ressources sont également appelées test
etc / adminhtml / menu.xml
etc / adminhtml / acl.xml
assurez-vous que pour l'administrateur il doit y avoir des routeurs qui sont etc / adminhtml / routes.xml
créez maintenant 2 nouvelles actions, une pour la vue par défaut qui est une action d'index et la seconde pour après serach, nous avons besoin d'une action de grille
Controller / Adminhtml / Lists / Index.php
Controller / Adminhtml / Lists / Grid.php
permet de passer au blocage comme dans magento1.x dans magneto2, nous avons également besoin d'un conteneur et de Grid.php
Block \ Adminhtml \ Lists.php
Block \ Adminhtml \ Lists \ Grid.php, vous devez mentionner le gestionnaire d'objets pour la collecte, c'est-à-
\Sugarcode\Test\Model\TestFactory $testFactory
direles étapes finales sont les fichiers est la vue de mise en page xml, ici aussi nous devons mettre en page pour l'index et la grille
afficher \ adminhtml \ layout \ test_lists_index.xml
afficher \ adminhtml \ layout \ test_lists_grid.xml
dans la disposition de grille xml
impuissant à remplacer uniquement les données de la grille après la recherche
contrairement à magento1.x dans magetno2, nous devons mentionner le chemin du modèle dans le fichier de bloc de conteneur et vous devez créer un fichier dans le dossier de modèle qui est
afficher \ adminhtml \ templates \ lists \ lists.phtml et au moins un code de ligne de
c'est clair le cache et vous pouvez voir la page de la grille
la source
Pour créer la grille d'administration Magento2 Veuillez suivre les instructions du blog ci-dessous:
https://www.aurigait.com/blog/magento-2-admin-grid/
la source