Le répertoire ui_component contient la définition xml de la grille (ou formulaire) utilisée dans le backend. Dans votre fichier de mise en page, vous pouvez faire référence au composant ui avec:
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<update handle="styles"/>
<body>
<referenceContainer name="content">
<uiComponent name="sample_demolist_listing"/>
</referenceContainer>
</body>
</page>
Cela chargera ensuite le fichier: view / adminhtml / ui_component / sample_demolist_listing.xml, ici vous définissez (pour une grille) quelle source de données vous souhaitez utiliser, quels champs disponibles à afficher, champs que vous souhaitez filtrer et actions de masse. Voir https://github.com/Genmato/M2_Sample/blob/7c0c771c4d66f2ea4eec285bfb9f8ad5d1c67999/view/adminhtml/ui_component/sample_demolist_listing.xml (le fichier est un peu trop gros à inclure ici).
La source de données est celle qui est référencée dans le xml ui_component est créée via le di.xml en définissant:
<type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory">
<arguments>
<argument name="collections" xsi:type="array">
<item name="sample_demolist_listing_data_source" xsi:type="string">Genmato\Sample\Model\ResourceModel\Demo\Grid\Collection</item>
</argument>
</arguments>
</type>
Dans ce cas, la collection est utilisée à partir de Model\ResourceModel\Demo\Grid\Collection
.
Voir https://github.com/Genmato/M2_Sample/releases/tag/0.7.6 pour une utilisation dans votre propre module.
Vladimir Kerkhoff
la source