J'ai créé un module personnalisé avec un attribut de champ de titre et de statut dans la grille d'administration.
Collections de grilles dans module_test_grid_block.xml
<arguments>
<argument name="id" xsi:type="string">testGrid</argument>
<argument name="dataSource" xsi:type="object">Namespace\Module\Model\ResourceModel\test\Collection</argument>
<argument name="default_sort" xsi:type="string">id</argument>
<argument name="default_dir" xsi:type="string">desc</argument>
<argument name="grid_url" xsi:type="url" path="*/*/grid"><param name="_current">1</param></argument>
</arguments>
Je souhaite afficher les données activées. Avez-vous la possibilité d'ajouter un filtre par défaut dans les collections de la grille d'administration ?
ÉDITER
<block class="Namespace\Module\Block\Adminhtml\Test\Grid" name="namespace_module_test.grid" as="grid">
<arguments>
<argument name="id" xsi:type="string">testGrid</argument>
<argument name="dataSource" xsi:type="object">Namespace\Module\Model\ResourceModel\test\Collection</argument>
<argument name="default_sort" xsi:type="string">id</argument>
<argument name="default_dir" xsi:type="string">desc</argument>
<argument name="grid_url" xsi:type="url" path="*/*/grid"><param name="_current">1</param></argument>
<argument name="default_filter" xsi:type="array">
<item name="status" xsi:type="string">1</item>
</argument>
</arguments>
.
.
</block>
En bloc - Grid.php
namespace Namespace\Module\Block\Adminhtml\Test;
use Magento\Backend\Block\Widget\Grid as WidgetGrid;
class Grid extends WidgetGrid
{
public function _construct()
{
parent::_construct();
if ($this->hasData('default_filter')) {
// print_r($this->getData('default_filter'));die;
$this->setDefaultFilter($this->getData('default_filter'));
}
}
}
J'ai suivi ce lien pour créer une grille d'administration dans magento 2
http://www.mage-world.com/blog/grid-and-form-in-magento-2-admin-panel-part-1.html
admin
magento2
collection
grid
DRAJI
la source
la source
vous devez ajouter ceci à l'intérieur de la balise arguments:
si vos arguments sont contenus dans ce bloc
vous devez créer votre propre classe qui s'étend
Magento\Backend\Block\Widget\Grid
comme ceci:et modifiez la balise de bloc ci-dessus pour
si vous utilisez déjà une grille personnalisée et non la valeur par défaut,
Magento\Backend\Block\Widget\Grid
vous n'avez pas besoin de créer la classe.Il vous suffit de copier la
_construct
méthode ci-dessus dans votre classe.la source
voici la référence sur devdocs:
http://devdocs.magento.com/guides/v2.0/ui-components/ui-secondary-filter.html
Si vous avez besoin de plus d'informations à ce sujet - vous pouvez créer une demande de tirage ou un problème via la page des documents - cliquez simplement sur le lien "Modifier cette page sur GitHub". Les documents sont constamment mis à jour et améliorés.
la source
Magento\Backend\Block\Widget\Grid
. Mais je peux me tromper.Après avoir essayé de nombreux codes qui ne fonctionnent pas, trouvez enfin un moyen qui n'a pas besoin de codage - utilisez la fonction d' enregistrement des vues personnalisées qui pourrait enregistrer les paramètres de filtre et de colonne.
Étapes spécifiques
Après avoir défini les paramètres de filtre et de colonne, cliquez sur le Default Viewbouton avec l'icône en forme d'œil, puis cliquez Save View As…pour entrer un nom pour votre vue. Ensuite, vous pouvez cliquer sur la vue personnalisée chaque fois que vous souhaitez obtenir la grille comme vous l'aimez, et vous pouvez enregistrer autant de vues personnalisées que vous le souhaitez.
Vous pouvez également revenir en arrière et utiliser l'icône de modification pour la renommer ou la supprimer ultérieurement, ou pour revenir à la vue par défaut.
Je pense que c'est une très bonne fonction dans Magento 2 :)
la source