AddOn


Navigation Array

Beschreibung


Helper function zur Generierung von REDAXO-Navigationen

Das AddOn liefert eine Function zur Generierung eines Navigationsarrays.

In YCOM definierte Rechte werden berücksichtigt

Helper function zur Generierung von REDAXO-Navigationen

Das AddOn liefert eine Function zur Generierung eines Navigationsarrays.

In YCOM definierte Rechte werden berücksichtigt


github.com/FriendsOfREDAXO/navigation_array

Umsetzung

Versionen

5.3.2

Für REDAXO
^5.15.0
Veröffentlicht am
20.01.2025
Require / PHP
>=8.1

What's Changed

Full Changelog: https://github.com/FriendsOfREDAXO/navigation_array/compare/5.3.1...5.3.2
@dpf-dd danke für's testen

5.3.1

Für REDAXO
^5.15.0
Veröffentlicht am
15.01.2025
Require / PHP
>=8.1

What's Changed

New Contributors

Full Changelog: https://github.com/FriendsOfREDAXO/navigation_array/compare/5.3.0...5.3.1

5.3.0

Für REDAXO
^5.15.0
Veröffentlicht am
01.01.2025
Require / PHP
>=8.1

Beschreibung:

Diese Version fügt eine neue walk-Methode zur BuildArray Klasse hinzu, um das Durchlaufen der Navigationsstruktur zu vereinfachen und die Flexibilität zu erhöhen. Zusätzlich wurde die README.md umfassend aktualisiert, um die neuen Features zu dokumentieren und Beispiele für die verschiedenen Anwendungsfälle zu geben.

Änderungen:

  • Neue walk-Methode:
    • Die BuildArray Klasse wurde um eine walk(callable $callback) Methode erweitert, welche die rekursive Traversierung der Navigationsstruktur übernimmt. Die übergebene Callback-Funktion wird für jedes Element der Navigation ausgeführt und ermöglicht somit eine flexible Verarbeitung und Ausgabe der Navigationsdaten.
  • README.md Aktualisierung:
    • Die Dokumentation wurde überarbeitet, um die walk-Methode, die getCategory-Methode und weitere Features ausführlich zu beschreiben.
    • Zusätzliche Beispiele wurden hinzugefügt, um die Verwendung der walk-Methode zu demonstrieren:
      • Erstellung einer verschachtelten HTML-Liste.
      • Logausgabe der Navigationsstruktur.
      • Zugriff auf benutzerdefinierte Daten.
    • Ein Vergleich zwischen der walk-Methode und einer eigenen rekursiven Iterationsfunktion wurde hinzugefügt, um die Vorteile der walk-Methode hervorzuheben.
    • Alle Code-Beispiele wurden um den use FriendsOfRedaxo\NavigationArray\BuildArray; Namespace-Import ergänzt, um die Beispiele direkt verwendbar zu machen.
    • Die Sektionen für die setCategoryFilterCallback() und setCustomDataCallback() Methoden wurden erweitert, um die Funktionsweise noch besser zu erklären.
    • Die Beschreibung und Dokumentation der getCategory Methode wurde ergänzt
    • Die Methoden toJson und den Konstruktor wurden ebenfalls besser beschrieben.
    • Eine klare Empfehlung wurde hinzugefügt, die walk-Methode als bevorzugte Iterationsmethode zu nutzen und eigene Iterationen weitestgehend zu vermeiden.

Vorteile:

  • Die walk-Methode vereinfacht das Durchlaufen der Navigation und reduziert Code-Duplikation.
  • Die walk-Methode ist flexibler, da sie individuelle Anpassungen für jedes Navigationselement über Callbacks ermöglicht.
  • Die aktualisierte Dokumentation verbessert das Verständnis und die Nutzung der BuildArray Klasse.
  • Der Vergleich der walk Methode mit eigener Iteration verdeutlicht den Mehrwert.
  • Die Codebeispiele sind nun copy-and-paste freundlicher.

Checkliste:

  • [x] Code entspricht den Coding Standards.
  • [x] Die Dokumentation ist vollständig und verständlich.
  • [x] Die Änderungen sind rückwärtskompatibel.
  • [x] Alle Tests sind erfolgreich (falls vorhanden).
  • [x] Die Änderungen wurden lokal getestet.

5.2.0

Für REDAXO
^5.15.0
Veröffentlicht am
18.11.2024
Require / PHP
>=8.1

What's Changed

Full Changelog: https://github.com/FriendsOfREDAXO/navigation_array/compare/5.1.0...5.2.0

5.1.0

Für REDAXO
^5.15.0
Veröffentlicht am
25.10.2024
Require / PHP
>=8.1

Neu: getCategory()

Liefert ein Array mit allen Informationen zu einer Kategorie. Funktioniert sowohl für die aktuelle Kategorie als auch für eine spezifische Kategorie-ID.

Basis-Verwendung

// Aktuelle Kategorie
$category = BuildArray::create()->getCategory();

// Spezifische Kategorie
$category = BuildArray::create()->getCategory(5);

Rückgabe-Array

[
    'catId' => 5,              // ID der Kategorie
    'parentId' => 2,           // ID der Elternkategorie
    'catName' => 'News',       // Name der Kategorie
    'url' => '/news/',         // URL der Kategorie
    'hasChildren' => true,     // Hat Unterkategorien
    'children' => [],          // Array der Kindkategorien
    'path' => [0,2,5],        // Pfad von Root zur Kategorie
    'pathCount' => 3,          // Anzahl der Ebenen von Root
    'active' => true,          // Ist im aktiven Pfad
    'current' => true,         // Ist aktuelle Kategorie
    'cat' => Object,          // REX Category Objekt
    'ycom_permitted' => true,  // YCom-Berechtigung
    'filter_permitted' => true,// Filter-Erlaubnis
    'is_permitted' => true,    // Gesamtstatus der Berechtigungen
]

What's Changed

Full Changelog: https://github.com/FriendsOfREDAXO/navigation_array/compare/5.0.0...5.1.0

5.0.0

Für REDAXO
^5.15.0
Veröffentlicht am
25.10.2024
Require / PHP
>=8.1

Anhebung auf 5.0 wegen neuer Methoden und interner Umstrukturierung.
In der Anwendung ändert sich nichts.

What's Changed

New Contributors

Full Changelog: https://github.com/FriendsOfREDAXO/navigation_array/compare/4.0.0...5.0.0

4.0.0

Für REDAXO
^5.15.0
Veröffentlicht am
19.04.2024
Require / PHP
>=8.1

Die depracated Class \FriendsOfRedaxo\navigationArray und die function navArray() wurden entfernt.
Sofern nicht bereits erfolgt, muss vorhandener Code angepasst werden. Siehe Readme.
Sonst keine Änderungen zu 3.1.1

Removed:

  • deprecated:\FriendsOfRedaxo\navigationArray class
  • depracaed: function navArray()

Full Changelog: https://github.com/FriendsOfREDAXO/navigation_array/compare/3.1.1...4.0.0

3.1.1

Für REDAXO
^5.15.0
Veröffentlicht am
05.04.2024
Require / PHP
>=8.1

3.1.1 🙈 compatibility fix for classic finction NavArray
Neu: Vollständige Verkettung der Factory möglich inkl. generate()

Beispiel:

$navArray = BuildArray::create()->setDepth(3)->generate();

Fixes in der Readme, Danke @erraiva

3.0.0

Namespace hat sich geändert und es wurde Raum für neue zusätzliche Classes geschaffen.
Das Array wird nun mit der Class BuildArray erstellt. (Siehe Readme)

Vorher // bis 4.0.0 noch verwendbar
FriendsOfRedaxo\navigationArray(0, 3);

jetzt
new FriendsOfRedaxo\navigationArray\BuildArray(0, 3);

Bitte stellt schon jetzt auf die neue Schreibweise um.

2.0.0 -3.0.0
Was hat sich geändert?

Alles:

  • Es ist nun eine Class
  • Es gibt einen FilterCallback
  • und CustomDataCallback
  • Level werden ab den übergeben Kategorien gezählt
  • Man kann mehrere Kategorien übergeben die die Ebene 0 darstellen.
  • ausführliche Readme
  • Anwendungsbeispiele
  • Kategorie-Objekt wurde entfernt in der Übergabe
  • die alte func nutzt jetzt die class. Es müssen bei einem Update keine Änderungen durchgeführt werden.
  • yrewrite auto start category
  • YCOM wird berücksichtigt

2.0.2
Bugfixes, missing Vars

2.0.1
Fixed php version

2.0.0
What's Changed

Full Changelog: https://github.com/FriendsOfREDAXO/navigation_array/compare/1.2.1...2.0.0

2.0.2

Für REDAXO
^5.15.0
Veröffentlicht am
16.12.2023
Require / PHP
>=8.1

Was hat sich geändert?

Alles:

  • Es ist nun eine Class
  • Es gibt einen FilterCallback
  • und CustomDataCallback
  • Level werden ab den übergeben Kategorien gezählt
  • Man kann mehrere Kategorien übergeben die die Ebene 0 darstellen.
  • ausführliche Readme
  • Anwendungsbeispiele
  • Kategorie-Objekt wurde entfernt in der Übergabe
  • die alte func nutzt jetzt die class. Es müssen bei einem Update keine Änderungen durchgeführt werden.
  • yrewrite auto start category
  • YCOM wird berücksichtigt

2.0.2
Bugfixes, missing Vars

2.0.1
Fixed php version

2.0.0
What's Changed

Full Changelog: https://github.com/FriendsOfREDAXO/navigation_array/compare/1.2.1...2.0.0

1.2.1

Für REDAXO
^5.8.0
Veröffentlicht am
30.09.2022
Require / PHP
>7.1

Die letzte Version als Funktion