it-swarm.com.de

Die Sortierung und Reihenfolge der JDeveloper-Komponenten funktioniert nicht (Bug und Fix)

Für diejenigen, die (meiner Meinung nach exzellent) JDeveloper-Komponente in Joomla 3.6 verwenden, um benutzerdefinierte Komponenten zu erstellen, ist mir aufgefallen, dass es ein Problem im Layout der Admin-Tabelle gibt, bei dem Sie die Spalten nicht sortieren oder verwenden können die Bestellfunktion.

1
philip

Hier sind die Korrekturen, die Sie vornehmen müssen, um sie zum Laufen zu bringen

Öffnen

/administrator/com_yourcomponent/views/yourviewplural/tmpl/default.php

Du wirst eine Linie sehen

$saveOrder = ($listOrder == 'ordering' && isset($this->items[0]->ordering));

Beachten Sie, dass es die listOrder prüft, um gleich 'ordering' zu sein (wir werden darauf zurückkommen)

Gleich darunter, ändere dich

$saveOrderingUrl = 'index.php?option=com_yourcomponent&task=yourviewplural.ordering&tmpl=component';

Zu

$saveOrderingUrl = 'index.php?option=com_yourcomponent&task=yourviewplural.saveOrderAjax&tmpl=component';

Scrollen Sie nach unten, bis Sie zu den Tabellenüberschriften gelangen.

Die erste Spalte ist die Ordnungsspalte, hier befindet sich der nächste Fehler. Beachten Sie, dass das Bestellziel auf "a.ordering" festgelegt ist, unsere Variable "$ saveOrder" jedoch nach "ordering" sucht.

veränderung

<?php echo JHtml::_('searchtools.sort', '', 'a.ordering', $listDirn, $listOrder, null, 'asc', 'JGRID_HEADING_ORDERING', 'icon-menu-2'); ?>

Zu

<?php echo JHtml::_('searchtools.sort', '', 'ordering', $listDirn, $listOrder, null, 'asc', 'JGRID_HEADING_ORDERING', 'icon-menu-2'); ?>

Ich habe festgestellt, dass searchtools.sort und grid.sort nicht zusammenzuarbeiten scheinen. Ersetzen Sie daher alle Vorkommen von grid.sort durch searchtools.sort

Wenn Sie eine Spalte "Hervorgehoben" haben, müssen Sie eine weitere Änderung vornehmen, da Sie den Titel nicht verwenden können, um das Hervorhebungssymbol anzuzeigen. searchtools hat jedoch einen Parameter für icon.

veränderung

<?php echo JHtml::_('grid.sort', JText::_('<span class="icon-featured"></span>'), 'a.featured', $listDirn, $listOrder) ?>

Zu

<?php echo JHtml::_('searchtools.sort', null, 'a.featured', $listDirn, $listOrder, null, null, 'Featured', 'icon-featured') ?>

Speichern Sie die Datei, wir sind fertig mit diesem.

Öffnen Sie /administrator/com_yourcomponent/models/forms/filter_yourviewplural.xml

Scrollen Sie nach unten, wo Sie das Listenfeld mit dem Namen = "fullordering" sehen. Suchen Sie in der Optionsliste nach a.ordering ASC und a.ordering DESC und entfernen Sie das a.

d.h. von

<option value="a.ordering ASC">JGRID_HEADING_ORDERING_ASC</option>
<option value="a.ordering DESC">JGRID_HEADING_ORDERING_DESC</option>

Zu

<option value="ordering ASC">JGRID_HEADING_ORDERING_ASC</option>
<option value="ordering DESC">JGRID_HEADING_ORDERING_DESC</option>

Speicher die Datei. Wir sind fertig, sortieren und bestellen jetzt wie sie sollten. Hoffe das hilft jemandem.

1
philip