Sprache auswählen

Die JoomGallery erlaubt das HinzufĂĽgen von eigenen Routern. Hier erfahrt ihr, wie man das macht.

Das Prinzip

Grundsätzlich listed die JoomGallery in den Konfigurationen sämtliche PHP Dateien/Router, welche sich im Verzeichnis site\com_joomgallery\src\Service befinden und Router im Namen haben. Um einen eigenen Router hinzuzufügen, muss also eine PHP Datei hinzufügen, welche eine Router-Klasse enthält.

  • Um einen modernen Router zu erstellen, muss die Router-Klasse von Joomla\CMS\Component\Router\RouterView extenden.
  • FĂĽr einen legacy Router, muss die Router-Klasse das Joomla\CMS\Component\Router\RouterInterface implementieren.

Die Property $displayName ist der Anzeige-Name des Routers, wie er in der Dropdown-Liste in der Konfiguartion angezeigt wird.

Schau auch in die allgemeine Dokumentation zum modernen Router:

Der moderne Router

Einen modernen Router

Das Erstellen eines modernen Routers ist recht einfach und zielfĂĽhrend. Dies ist das Template eines neuen Routers:

class CustomRouter extends DefaultRouter {
 public static string $displayName = 'Custom Router';
 public static string $image_parentID = 'catid';

 public function __construct($app, $menu, $categoryFactory, $db) {
  parent::__construct($app, $menu, $categoryFactory, $db, true);
  // ... here comes your custom RouterView definitions
 }
}


Im Konstruktor der Router Klasse können dann alternative RouterViews definiert werden. z.B kann definiert werden, dass die URL der Detail-Ansicht direkt als Kind der Galerie-Ansicht generiert wird.

/gallery/1-flugzeug.html

Dieses Beispiel braucht folgende RouterViews Definitionen:

 $gallery = new RouterViewConfiguration('gallery');
 $this->registerView($gallery);

 $image = new RouterViewConfiguration('image');
 $image->setKey('id')->setParent($gallery);
 $this->registerView($image);

 $this->attachRule(new MenuRules($this));
 $this->attachRule(new StandardRules($this));

Nach diesem Prinzip können komplett eigene URLs generiert werden nach einer komplett eigener Logik.

Meist gelesene Artikel

Direkte Spende

Spende an JoomGallery friends

Summe eintragen:

Warum spenden hilft

Neben sehr viel Freizeit kostet die Entwicklung unserer Software und der Unterhalt dieser Supportseite natĂĽrlich auch Geld.
Auch das JG-Forum muss gehostet werden.
Unterstützen Sie die Weiterentwicklung unseres Projekts JoomGallery mit einer Spende, damit wir unsere Software zum großen Teil auch weiterhin kostenlos und werbefrei zur Verfügung stellen können.

Wir sagen DANKE fĂĽr die UnterstĂĽtzung!

Sorry, this website uses features that your browser doesn't support. Upgrade to a newer version of Firefox, Chrome, Safari, or Edge and you'll be all set.