it-swarm.com.de

Kann ich in JHTMLGrid Klassenattribute hinzufügen?

Ich versuche, Klassenattribut in den Ankreuzfeldern hinzuzufügen.

https://docs.joomla.org/API15:JHTMLGrid/id

Ich habe die Dokumentation gelesen, aber heute kein Glück :(

Bitte überprüfen Sie das Bild (das ist nur ein Beispiel) enter image description here

Also meine Frage ist, können wir Klassenattribut in JHtml::_('grid.id', $i, $item->id); hinzufügen?

Gibt es eine Möglichkeit, dies zu tun , ohne den Kern zu hacken

Danke im Voraus.

2
Joomler

Erstens ist diese Dokumentation sehr alt. Spätestens ist hier .

Sie können dem nicht einfach Klasse hinzufügen. Sie müssten Ihre eigene Klasse JHtml* Erstellen und dort überschreiben. Das Folgende ist nur ein Beispiel, Sie können Klassen- und Dateinamen nach Belieben umbenennen.

components/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);" />';
    }
}

Fügen Sie dann in Ihrer Ansichtsvorlage zum Beispiel myview/tmpl/default.php Ihre Klasse zu JHtml include-Pfaden hinzu.

JHtml::addIncludePath(JPATH_COMPONENT.'/html');

Hinweis: Sie können diesen Code zu Ihrer Hauptdatei der Komponente hinzufügen, dann können Sie ihn in jeder Ansicht verwenden, ohne diese Zeile zu wiederholen.

Und nennen Sie es schließlich in Ihrer Vorlagendatei.

JHtml::_('mygrid.id', $i, $item->id, 'class-name');

Dann ist Joomla! ruft automatisch die Klassenmethode JHtmlMygridid auf.

4
Rene Korss