J'essaie d'ajouter un attribut de classe dans les cases à cocher.
J'ai lu la documentation mais pas de chance aujourd'hui :(
S'il vous plaît vérifier l'image (Thats juste un exemple)
Ma question est donc la suivante: pouvons-nous ajouter un attribut de classe dans JHtml::_('grid.id', $i, $item->id);
??
Est-il possible de faire cela sans piratage de base
Merci d'avance.
Tout d'abord, cette documentation est très ancienne. Le dernier en date est ici .
Vous ne pouvez pas simplement ajouter une classe à cela. Vous devez créer votre propre JHtml*
classe et le remplacer ici. Voici un exemple, vous pouvez renommer les noms de classe et de fichier si vous préférez.
composants/your_component/html/mygrid.php
abstract class JHtmlMygrid
{
public static function id($rowNum, $recId, $class = null, $checkedOut = false, $name = 'cid', $stub = 'cb')
{
return $checkedOut ? '' : '<input type="checkbox" id="' . $stub . $rowNum . '"'.(is_string($class) ? ' class="'.$class.'"' : '').' name="' . $name . '[]" value="' . $recId
. '" onclick="Joomla.isChecked(this.checked);" />';
}
}
Ensuite, dans votre modèle de vue, par exemple myview/tmpl/default.php , ajoutez votre classe à JHtml
chemins d'accès.
JHtml::addIncludePath(JPATH_COMPONENT.'/html');
Remarque: vous pouvez ajouter ce code au fichier principal de votre composant. Vous pourrez ensuite l'utiliser dans toutes les vues sans répéter cette ligne.
Et enfin, appelez-le dans votre fichier de modèle.
JHtml::_('mygrid.id', $i, $item->id, 'class-name');
Alors Joomla! appellera automatiquement votre méthode de classe JHtmlMygrid
_ id
.