Backend Snippets

Snippets und Tweaks zur Modifikation des Backends

  1. AddOn ausblenden
  2. Seite eines AddOns durch eigene austauschen/ersetzen
  3. Sortierung des Medienpools ändern

AddOn ausblenden

Es ist möglich, einzelne AddOns auch für Administratoren auszublenden. In diesem Beispiel werden der Installer und die Systemverwaltung ausgeblendet.

Folgenden Code in die boot.php des Project-AddOns platzieren:

if (rex::isBackend() and rex_backend_login::hasSession()) {
  $page = rex_be_controller::getPageObject('system');
  $page->setHidden(true);
  $page->setPath('...');

  $page = rex_be_controller::getPageObject('packages');
  $page->setHidden(true);
  $page->setPath('...');
}

Seite eines AddOns durch eigene austauschen/ersetzen

Will man eine alternative Seite in einem AddOn darstellen und die vorhandene ersetzen, kann dies mit dem nachfolgenden Code erfogen. In diesem Beispiel wird die index.php des Struktur-AddOns ausgetauscht.

Verwendeter Extension point: PAGES_PREPARED

Folgenden Code in die boot.php des Project-AddOns platzieren:

rex_extension::register('PAGES_PREPARED',function($ep) {
  if (rex_be_controller::getCurrentPage() == 'structure') {
    $Page = rex_be_controller::getCurrentPageObject();
    $Page->setPath($this->getPath('pages/index.php'));
  }
});

Sortierung des Medienpools ändern

Die Standard-Sortierung im Medienpool ist immer chronologisch. Die folgende Lösung sorgt für eine alphabetische Sortierung.

Verwendeter Extension point: MEDIA_LIST_QUERY

Folgenden Code in die boot.php des Project-AddOns platzieren:

// Sortierung Medienpool aufsteigend
if (rex::isBackend() && rex::getUser()) {
  rex_extension::register('MEDIA_LIST_QUERY', function (rex_extension_point $ep) {
    $subject = $ep->getSubject();
    $subject = str_replace("f.updatedate", "f.filename, f.updatedate", $subject);
    $subject = str_replace("desc", "asc", $subject);
    return $subject;
  });
}