web-dev-qa-db-fra.com

Structure pour définir filter_fields dans JmodelList.?

lorsque nous étendons JmodelList pour gérer la liste de données dans notre fonction List_Model in construct, nous définissons filter_fields dans le tableau de configuration comme

$config[filter_fields]=array('field1','a.field1','field2','a.field2');
parent::__construct($config);

je me pose des questions sur la structure de définition du tableau filter_fields dans le tableau de configuration

why we define every fields two time and how they will be used by joomla.?
1
Sumer Raj Chouhan

La liste des champs de filtrage est une option de configuration à des fins de commande. Il s'agit d'une liste blanche de noms de champs dont l'utilisation est autorisée dans les requêtes. Vous pouvez donc utiliser par exemple a.field1 comme requête spécifique.

Donc, à votre avis, vous écrivez quelque chose comme ceci:

<?php echo JHtml::_('grid.sort', 'COM_MYCOMPONENT_NAME', 'name', $listDirn, $listOrder); ?>

Comme nous pouvons le constater, dans le troisième argument de cette méthode, nous appliquons le nom de la colonne que nous voulons classer, et nous pourrions ici spécifier une table comme p.name _ s'il s'agit du nom d'une table jointe appelée personnes.

Tous les deux field1 et a.field1 sont ajoutés éventuellement pour que quelqu'un d'autre veuille utiliser ce modèle, ou pour spécification, comme dans l'exemple suivant:

<?php echo JHtml::_('grid.sort', 'COM_MYCOMPONENT_NAME', 'p.name', $listDirn, $listOrder); ?>
2
Purple Penguin