XNavigation: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(Anpassen)
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{stub}}
+
[[en:xNavigation]]
 +
[[Kategorie:Extensions]]
 +
[[Kategorie:Extensions/Inhaltselemente]]
 +
[[Kategorie:Extensions/Module]]
 +
 
 +
xNavigation steht für ''e<strong>x</strong>treme e<strong>x</strong>tendable and fle<strong>x</strong>ible navigation'' und stellt eine leicht erweiterbare Navigation zur Verfügung, die nicht nur die Seitenstruktur, sondern auch Artikel, Inhaltselemente, News, Events und mehr abbilden kann.
 +
 
 +
== Pakete ==
  
xNavigation bietet eine erweiterte Navigation und Sitemap, die es erlaubt Seitenstrukturen und Newsarchive in die Navigation mit ein zu binden.
 
 
{{ExtInfo
 
{{ExtInfo
 +
| Name=bit3/contao-xnavigation
 
| Dev=Tristan Lins ([[User:tril|tril]])
 
| Dev=Tristan Lins ([[User:tril|tril]])
| DevSite=http://www.infinitysoft.de
+
| DevSite=http://bit3.de
| ExtVersion=1.0.8
+
| ERLink=https://packagist.org/packages/bit3/contao-xnavigation
| Version=2.9.0 (ab xNavigation 1.5.0, in Entwicklung)
+
| TrackerLink=https://github.com/bit3/contao-xnavigation
| TLVersion=2.8.0 - 2.8.3
+
| Depending=[[ce_navigation|Content Navigation]]
+
| Community Link=http://www.contao-community.de/showthread.php?5967-Modulvorstellung-xNavigation-und-ce_navigation
+
| ERLink=http://www.contao.org/erweiterungsliste/view/xNavigation.de.html
+
| DonateLink=
+
| TrackerLink=
+
| Comment=[http://www.contao-community.de/showthread.php?5967-Modulvorstellung-xNavigation-und-ce_navigation Modulvorstellung in der Contao Community]
+
 
}}
 
}}
[[en:xNavigation]]
 
[[Kategorie:Extensions]]
 
  
=Beschreibung=
+
Das Hauptpaket stellt das Framework, die Verwaltung von Bedingungen, Providern und Menüs, sowie die Module/Inhaltselemente zur Verfügung.
Eine Detaillierte Beschreibung folgt in Kürze, bis dahin gilt die [http://www.contao-community.de/showthread.php?5967-Modulvorstellung-xNavigation-und-ce_navigation Modulvorstellung in der Contao Community].
+
 
==Modulkonfiguration==
+
{{Achtung|Das Hauptpaket alleine liefert '''keine Provider''' mit. Verwenden Sie einen der folgenden Provider um Menüpunkte erzeugen zu können!}}
 +
 
 +
{{ExtInfo
 +
| Name=bit3/contao-xnavigation-page
 +
| Dev=Tristan Lins ([[User:tril|tril]])
 +
| DevSite=http://bit3.de
 +
| ERLink=https://packagist.org/packages/bit3/contao-xnavigation-page
 +
| TrackerLink=https://github.com/bit3/contao-xnavigation-page
 +
}}
 +
 
 +
Das ''Page'' Paket stellt Provider für die Seitenstruktur zur Verfügung.
 +
 
 +
{{ExtInfo
 +
| Name=bit3/contao-xnavigation-article
 +
| Dev=Tristan Lins ([[User:tril|tril]])
 +
| DevSite=http://bit3.de
 +
| ERLink=https://packagist.org/packages/bit3/contao-xnavigation-article
 +
| TrackerLink=https://github.com/bit3/contao-xnavigation-article
 +
}}
 +
 
 +
Das ''Article'' Paket stellt Provider für Artikel zur Verfügung. Damit lassen sich die Artikel von Seiten in der Navigation anzeigen.
 +
 
 +
{{ExtInfo
 +
| Name=bit3/contao-xnavigation-content
 +
| Dev=Tristan Lins ([[User:tril|tril]])
 +
| DevSite=http://bit3.de
 +
| ERLink=https://packagist.org/packages/bit3/contao-xnavigation-content
 +
| TrackerLink=https://github.com/bit3/contao-xnavigation-content
 +
}}
 +
 
 +
Das ''Content'' Paket stellt Provider für Inhaltselemente zur Verfügung. Damit lassen sich die Inhaltselemente von Artikeln in der Navigation anzeigen.
 +
 
 +
== Beschreibung ==
 +
 
 +
{{stub}}
 +
 
 +
Mit xNavigation lassen sich Navigationen und Sitemaps erzeugen. Eigentlich liefert Contao dafür bereits ein Modul, dieses lässt sich aber nicht beliebig erweitern.
 +
xNavigation ist nicht die einzige Erweiterung, die sich mit dem Problem beschäftigt. Alternativ gibt es bspw. die [[Backboneit navigation]], die jedoch etwas weniger abstrakt aufgebaut ist.
 +
 
 +
xNavigation zeichnet sich durch folgende Funktionalitäten aus:
 +
 
 +
* Aufbau der Navigation in einem Item-Tree
 +
** Intern wird mit einem Item-Tree gearbeitet. Dieser basiert auf der [https://github.com/bit3/php-flexi-tree bit3/php-flexi-tree] Bibliothek.
 +
* Unterstützung von Events
 +
** Intern werden zur Kommunikation und zum Aufbau Events verwendet.
 +
* Lazy-Loading des Item-Tree's
 +
** Anstatt alle Items in einem Zug zu laden, werden die Items sukzessiv bei Bedarf geladen. Die dadurch entstehende "Entzerrung" sorgt für eine höhere Performance durch bessere Verteilung der IO/Datenbank Last und sie verhindert das erzeugen unnötiger Items.
 +
* Individualisierbare Bedingungen
 +
** Für gewöhnlich definiert die Navigationserweiterung selbst wann Einträge angezeigt werden sollen und wann nicht. Bei xNavigation geschieht dies durch ein Set von Bedingungen, das man selbst aufbauen '''muss'''. Dadurch erreicht man eine nie dagewesene Flexibilität. Einfach mal einen Teilbaum ausblenden? Kein Problem, mit einer eigenen Bedingung die sich bequem über das Backend konfigurieren lässt überhaupt kein Problem.
 +
* Flexible Provider
 +
** Die Einträge und deren Detailinformationen werden von sogenannten Providern geliefert. Welche Provider in welchem Menü verwendet werden kann frei bestimmt werden, damit ist es sehr einfach festzulegen, welche Einträge in welchem Menü überhaupt angezeigt werden.
 +
 
 +
== Internas ==
 +
 
 +
Intern arbeitet xNavigation mit der [https://github.com/bit3/php-flexi-tree bit3/php-flexi-tree] Bibliothek. Genau genommen primär mit der ''event driven'' Implementierungen.
 +
Durch die Verwendung der ''event driven'' Implementierung entsteht das ''lazy loading''. Die ''event driven'' und die statischen (normalen) Items können aber auch beliebig kombiniert werden.
 +
Der Nachteil dieser Technik ist allerdings, dass der ganze Item-Tree nicht mehr stateless ist, was aber für den Einsatz in Contao vertretbar ist.
 +
 
 +
Beim erzeugen des Item-Tree's wird ein eigener EventDispatcher verwendet. Das ist notwendig, weil es sonst unmöglich ist, Provider einem Menü zuzuordnen. D.h. es ist nicht möglich, über globale Events auf die Generierung des Item-Tree's einzugreifen.
 +
 
 +
== Anpassen ==
 +
 
 +
{{stub}}
 +
 
 +
== Alte Versionen ==
 +
 
 +
=== xNavigation 1.5 ===
 +
 
 +
{{Hinweis|Die Erweiterung wurde für Version 2 vollständig überarbeitet und neu geschrieben.}}
 +
 
 +
Seit Version 1.5.0 ist das Modul xNavigation modular aufgebaut. Die Integration der Inhaltsnavigation und Newsarchiv-Navigation wurde extrahiert und wird über externe Module bereit gestellt.
 +
{{Achtung|Benutzer der xNavigation müssen beim Update beachten, dass die Integration der Inhaltsnavigation und Newsarchiv-Navigation entfernt wurde. Wer diese Funktion benutzt, sollte mit dem Update warten, bis die dafür erforderlichen Module bereitgestellt werden.}}
 +
 
 +
Das modulare Konzept, erlaubt nun eigene Menüpunkte auf einfache Art und Weise zur Verfügung zu stellen. Details hierzu sind dem [http://dev.infinitysoft.de/projects/xnavigation/wiki/Wiki Handbuch] zu entnehmen.
 +
 
 +
=== xNavigation 1.0 ===
 +
 
 +
Eine Detaillierte Beschreibung findet sich hier [http://www.contao-community.de/showthread.php?5967-Modulvorstellung-xNavigation-und-ce_navigation Modulvorstellung in der Contao Community].
 +
 
 +
=== Modulkonfiguration ===
 +
 
 
[[Datei:Xnavigation_be_modul.png|Modulkonfiguration]]
 
[[Datei:Xnavigation_be_modul.png|Modulkonfiguration]]
==Seitenkonfiguration - Artikel==
+
 
 +
=== Seitenkonfiguration - Artikel ===
 +
 
 
[[Datei:Xnavigation_be_page_article.png|Seitenkonfiguration - Artikel]]
 
[[Datei:Xnavigation_be_page_article.png|Seitenkonfiguration - Artikel]]
==Seitenkonfiguration - News==
+
 
 +
=== Seitenkonfiguration - News ===
 +
 
 
[[Datei:Xnavigation_be_page_news.png|Seitenkonfiguration - News]]
 
[[Datei:Xnavigation_be_page_news.png|Seitenkonfiguration - News]]
==Seitenkonfiguration - Sichtbarkeit==
 
[[Datei:Xnavigation_be_page_visibility.png|Seitenkonfiguration - Sichtbarkeit]]
 
==FE Beispiel==
 
[[Datei:Xnavigation_fe_example.png|FE Beispiel]]
 
  
=xNavigation 1.5.0=
+
=== Seitenkonfiguration - Sichtbarkeit ===
Version 1.5.0 wird das Erstellen von Menüpunkten in gesonderte Module ausgliedern.
+
  
Damit wird
+
[[Datei:Xnavigation_be_page_visibility.png|Seitenkonfiguration - Sichtbarkeit]]
* die bisher erzwungene Abhängigkeit von [[ce_navigation|Content Navigation]] in eine dafür vorgesehen Erweiterung ausgegliedert
+
* und es anderen Entwicklern mittels HOOKs leicht gemacht, eigene Elemente in die Navigation hinzu zu fügen.
+
  
{{Achtung|Version 1.5.0 wird aufgrund größerer Umstrukturierungen nicht von 1.0.X automatisch Update fähig sein.
+
=== FE Beispiel ===
Eine Beschreibung, wie man von 1.0.X auf 1.5.0 Updaten kann, wird hier bei Veröffentlichung hinzugefügt.}}
+
 
 +
[[Datei:Xnavigation_fe_example.png|FE Beispiel]]

Aktuelle Version vom 9. Juli 2014, 09:45 Uhr


xNavigation steht für extreme extendable and flexible navigation und stellt eine leicht erweiterbare Navigation zur Verfügung, die nicht nur die Seitenstruktur, sondern auch Artikel, Inhaltselemente, News, Events und mehr abbilden kann.

Pakete

Erweiterungs-Übersicht
Name bit3/contao-xnavigation
Name des Entwicklers Tristan Lins (tril)
Entwickler Webseite http://bit3.de
Link zum Extension Repository https://packagist.org/packages/bit3/contao-xnavigation
Link zum Tracker https://github.com/bit3/contao-xnavigation


Das Hauptpaket stellt das Framework, die Verwaltung von Bedingungen, Providern und Menüs, sowie die Module/Inhaltselemente zur Verfügung.


Achtung.png Achtung: Das Hauptpaket alleine liefert keine Provider mit. Verwenden Sie einen der folgenden Provider um Menüpunkte erzeugen zu können!


Erweiterungs-Übersicht
Name bit3/contao-xnavigation-page
Name des Entwicklers Tristan Lins (tril)
Entwickler Webseite http://bit3.de
Link zum Extension Repository https://packagist.org/packages/bit3/contao-xnavigation-page
Link zum Tracker https://github.com/bit3/contao-xnavigation-page


Das Page Paket stellt Provider für die Seitenstruktur zur Verfügung.


Erweiterungs-Übersicht
Name bit3/contao-xnavigation-article
Name des Entwicklers Tristan Lins (tril)
Entwickler Webseite http://bit3.de
Link zum Extension Repository https://packagist.org/packages/bit3/contao-xnavigation-article
Link zum Tracker https://github.com/bit3/contao-xnavigation-article


Das Article Paket stellt Provider für Artikel zur Verfügung. Damit lassen sich die Artikel von Seiten in der Navigation anzeigen.


Erweiterungs-Übersicht
Name bit3/contao-xnavigation-content
Name des Entwicklers Tristan Lins (tril)
Entwickler Webseite http://bit3.de
Link zum Extension Repository https://packagist.org/packages/bit3/contao-xnavigation-content
Link zum Tracker https://github.com/bit3/contao-xnavigation-content


Das Content Paket stellt Provider für Inhaltselemente zur Verfügung. Damit lassen sich die Inhaltselemente von Artikeln in der Navigation anzeigen.

Beschreibung

MsgError.png Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.

Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis.


Mit xNavigation lassen sich Navigationen und Sitemaps erzeugen. Eigentlich liefert Contao dafür bereits ein Modul, dieses lässt sich aber nicht beliebig erweitern. xNavigation ist nicht die einzige Erweiterung, die sich mit dem Problem beschäftigt. Alternativ gibt es bspw. die Backboneit navigation, die jedoch etwas weniger abstrakt aufgebaut ist.

xNavigation zeichnet sich durch folgende Funktionalitäten aus:

  • Aufbau der Navigation in einem Item-Tree
    • Intern wird mit einem Item-Tree gearbeitet. Dieser basiert auf der bit3/php-flexi-tree Bibliothek.
  • Unterstützung von Events
    • Intern werden zur Kommunikation und zum Aufbau Events verwendet.
  • Lazy-Loading des Item-Tree's
    • Anstatt alle Items in einem Zug zu laden, werden die Items sukzessiv bei Bedarf geladen. Die dadurch entstehende "Entzerrung" sorgt für eine höhere Performance durch bessere Verteilung der IO/Datenbank Last und sie verhindert das erzeugen unnötiger Items.
  • Individualisierbare Bedingungen
    • Für gewöhnlich definiert die Navigationserweiterung selbst wann Einträge angezeigt werden sollen und wann nicht. Bei xNavigation geschieht dies durch ein Set von Bedingungen, das man selbst aufbauen muss. Dadurch erreicht man eine nie dagewesene Flexibilität. Einfach mal einen Teilbaum ausblenden? Kein Problem, mit einer eigenen Bedingung die sich bequem über das Backend konfigurieren lässt überhaupt kein Problem.
  • Flexible Provider
    • Die Einträge und deren Detailinformationen werden von sogenannten Providern geliefert. Welche Provider in welchem Menü verwendet werden kann frei bestimmt werden, damit ist es sehr einfach festzulegen, welche Einträge in welchem Menü überhaupt angezeigt werden.

Internas

Intern arbeitet xNavigation mit der bit3/php-flexi-tree Bibliothek. Genau genommen primär mit der event driven Implementierungen. Durch die Verwendung der event driven Implementierung entsteht das lazy loading. Die event driven und die statischen (normalen) Items können aber auch beliebig kombiniert werden. Der Nachteil dieser Technik ist allerdings, dass der ganze Item-Tree nicht mehr stateless ist, was aber für den Einsatz in Contao vertretbar ist.

Beim erzeugen des Item-Tree's wird ein eigener EventDispatcher verwendet. Das ist notwendig, weil es sonst unmöglich ist, Provider einem Menü zuzuordnen. D.h. es ist nicht möglich, über globale Events auf die Generierung des Item-Tree's einzugreifen.

Anpassen

MsgError.png Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.

Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis.


Alte Versionen

xNavigation 1.5

Hinweis.png Hinweis: Die Erweiterung wurde für Version 2 vollständig überarbeitet und neu geschrieben.


Seit Version 1.5.0 ist das Modul xNavigation modular aufgebaut. Die Integration der Inhaltsnavigation und Newsarchiv-Navigation wurde extrahiert und wird über externe Module bereit gestellt.

Achtung.png Achtung: Benutzer der xNavigation müssen beim Update beachten, dass die Integration der Inhaltsnavigation und Newsarchiv-Navigation entfernt wurde. Wer diese Funktion benutzt, sollte mit dem Update warten, bis die dafür erforderlichen Module bereitgestellt werden.


Das modulare Konzept, erlaubt nun eigene Menüpunkte auf einfache Art und Weise zur Verfügung zu stellen. Details hierzu sind dem Handbuch zu entnehmen.

xNavigation 1.0

Eine Detaillierte Beschreibung findet sich hier Modulvorstellung in der Contao Community.

Modulkonfiguration

Modulkonfiguration

Seitenkonfiguration - Artikel

Seitenkonfiguration - Artikel

Seitenkonfiguration - News

Seitenkonfiguration - News

Seitenkonfiguration - Sichtbarkeit

Seitenkonfiguration - Sichtbarkeit

FE Beispiel

FE Beispiel

Ansichten
Meine Werkzeuge

Contao Community Documentation

<user> Kann es sein, dass sich SyncCto bei Sync->Client anders verhält als umgegekehrt also Sync->Server ?
<xtra> ja, da laufen die Daten in die andere Richtung *scnr*

In anderen Sprachen
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge