it-swarm.com.de

Kann ich im Benutzermanager eine Standardsortierung festlegen?

Im Administratorbereich von Joomla 3.6.x verfügt der Benutzermanager über eine Reihe von Filtern, um die Sortierung der Benutzer zu ändern. Ich möchte immer, dass die zuletzt registrierten Benutzer oben angezeigt werden, ohne dass diese Option ausgewählt werden muss (Registrierungsdatum). Gibt es eine Möglichkeit, die Auswahl zu erzwingen, möglicherweise mit einem Override? Vielen Dank.

3
Greg

Überschreibe die Datei administrator/components/com_users/views/users/tmpl/default.php (z. B. kopieren Sie es nach administrator/templates/[your-admin-template]/com_users/users/default.php)

Ändern Sie die folgenden 2 Zeilen:

$listOrder  = $this->escape($this->state->get('list.ordering'));
$listDirn   = $this->escape($this->state->get('list.direction'));

zu:

$listOrder  = 'a.registerDate';
$listDirn   = 'DESC';

Speichern Sie die Datei und leeren Sie den Joomla-Cache.

Hinweis: Die oben genannte Überschreibung bewirkt, dass die Bestellung immer nach dem letzten Registrierungsdatum erfolgt, auch wenn Sie eine andere Bestellung auswählen (mit anderen Worten, die Bestellung wird fest codiert).

1
itoctopus

Ich weiß, dass dies eine ziemlich alte Frage ist, aber sie taucht in Google auf, wenn ich nach "Joomla-Standardsortierung" suche, und daher möchte ich eine eindeutigere Antwort hinzufügen.

Die Standardreihenfolge für die meisten Seiten des Joomla-Backend-Managers (Menü-Manager, Benutzermanager, Artikel-Manager, Manager für vorgestellte Artikel, Kategorie-Manager usw.) ist Teil der Joomla-Kerndateien, die nicht über die Joomla-Funktion zum Überschreiben von Vorlagen geändert werden können.

Das heißt, wenn Sie die Standardreihenfolge ändern möchten, ohne die Möglichkeit zu verlieren, die Sortierreihenfolge zu ändern (das Problem mit der Antwort von itoctopus), müssen Sie grundlegende Änderungen vornehmen.

Für jede Managerseite sind die Kernbearbeitungen sehr ähnlich. Sie müssen zwei Dateien ändern:

/administrator/components/<component>/models/forms/filter_<view>.xml

und

/administrator/components/<component>/models/<view>.php

Ich werde den Benutzermanager als Beispiel verwenden (da diese Frage genau das ist, worum es geht):

Öffnen

/administrator/components/com_users/models/forms/filter_users.xml

und finde das "fullordering" -Feld. Ändern Sie das Attribut "default" von "a.name ASC" in "a.registerDate DESC" (oder wie auch immer der neue Standard lauten soll). Diese Änderung führt zu dem Dropdown-Auswahlmenü auf der Seite, in dem der neue Wert beim Laden der Seite als Standardwert angezeigt wird.

Dann öffne

/administrator/components/com_users/models/users.php

und finde die populateState () Methode:

protected function populateState($ordering = 'a.name', $direction = 'asc')

Ändern Sie diese Standardparameterwerte wie gewünscht:

protected function populateState($ordering = 'a.registerDate', $direction = 'desc')

Diese Änderung hat zur Folge, dass die Standardreihenfolge unterschiedlich ist.


Wenn Sie möchten, dass der Manager "Empfohlene Artikel" standardmäßig nach dem Datum "Veröffentlichung starten" bestellt, gehen Sie wie folgt vor:

Öffnen

/administrator/components/com_content/models/forms/filter_featured.xml

und ändere das "default" Attribut des "fullordering" Feldes in "a.publish_up DESC"

Dann öffne

/administrator/components/com_content/models/featured.php

und ändern Sie die Parameter der populateState () -Methode:

protected function populateState($ordering = 'a.publish_up', $direction = 'desc')

Wie immer, da dies die Kernbearbeitung ist, können alle Joomla-Updates diese Änderungen rückgängig machen. Daher müssen Sie dies überprüfen und die Änderungen bei Bedarf erneut anwenden.

0
Drew G