wCategories::mergeCategories
Fügt mehrere Kategoriendateien zu einer zusammen
Funktionsaufruf
Boolean mergeCategories(String pathDest, Array pathesSource, Array options = array())
Parameter
- pathDest
- Pfad der Zielkategoriedatei
- pathesSource
- Pfade der Quellkategoriedatei
- options
- Zusätzliche Optionen
- mergeType
- Definiert, wie die Zusammenführung geschehen soll [|flat]. Bei flat werden die Kategorien direkt eingefügt, ohne Knoten für die Hauptkategorie selbst.
Beispiel: Führt die Standard-, Countries- und Products-Kategorie zusammen und legt diese als standard.wNavigation.php ab
Quelltext
<?php
$pathDest = '/[IHR-LAYOUT-PROJEKT]/wGlobal/content/categories';
wCategories::mergeCategories($pathDest.'/all.wCategories.php', array($pathDest.'/countries.wCategories.php', $pathDest.'/products.wCategories.php', $pathDest.'/standard.wCategories.php'));
wCategories::mergeCategories($pathDest.'/allFlat.wCategories.php', array($pathDest.'/countries.wCategories.php', $pathDest.'/products.wCategories.php', $pathDest.'/standard.wCategories.php'), array('mergeType' => 'flat'));
?>Beispiel: Führt die Standard-, Countries- und Products-Kategorie zusammen und legt diese als standard.wNavigation.php ab (als Ereignis)
Quelltext
<?php
$pathDest = $eventData['dirPath'];
wCategories::mergeCategories($pathDest.'/all.wCategories.php', array($pathDest.'/countries.wCategories.php', $pathDest.'/products.wCategories.php', $pathDest.'/standard.wCategories.php'));
wCategories::mergeCategories($pathDest.'/allFlat.wCategories.php', array($pathDest.'/countries.wCategories.php', $pathDest.'/products.wCategories.php', $pathDest.'/standard.wCategories.php'), array('mergeType' => 'flat'));
?>Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.
FAQs
- Was macht wCategories::mergeCategories?
- Die Methode **wCategories::mergeCategories** fügt mehrere **Kategorien-Dateien** zu einer zusammen.
- Wie lautet die Signatur von wCategories::mergeCategories?
- Der Funktionsaufruf lautet: <code class="codeInline">Boolean mergeCategories(String pathDest, Array pathesSource, Array options = array())</code>.
- Wofür steht <code class="codeInline">pathDest</code> bei mergeCategories?
- <code class="codeInline">pathDest</code> ist der **Pfad der Zielkategoriedatei**, in die die zusammengeführten Kategorien geschrieben werden.
- Wofür steht <code class="codeInline">pathesSource</code> bei mergeCategories?
- <code class="codeInline">pathesSource</code> enthält die **Pfade der Quellkategoriedateien**, die zusammengeführt werden sollen.
- Welche Rolle spielen die <code class="codeInline">options</code> bei mergeCategories?
- Über <code class="codeInline">options</code> können **zusätzliche Optionen** übergeben werden. Relevant ist insbesondere: **<code class="codeInline">mergeType</code>** (z. B. <code class="codeInline">flat</code>), das steuert, wie die Zusammenführung durchgeführt wird.
- Was bedeutet <code class="codeInline">mergeType => 'flat'</code>?
- Bei <code class="codeInline">mergeType => 'flat'</code> werden die Kategorien **direkt eingefügt**, ohne dass ein zusätzlicher Knoten für die Hauptkategorie selbst erzeugt wird.
- Wie kann ich mit mergeCategories drei Kategorien-Dateien zusammenführen?
- Beispiel (Standard): <pre><code class="codeBlock" style="color: #000000">php $pathDest = '/[IHR-LAYOUT-PROJEKT]/wGlobal/content/categories'; wCategories::mergeCategories( $pathDest.'/all.wCategories.php', array( $pathDest.'/countries.wCategories.php', $pathDest.'/products.wCategories.php', $pathDest.'/standard.wCategories.php' ) ); </code></pre>
- Wie führe ich die Kategorien zusammen und erstelle zusätzlich eine „flat“-Variante?
- Beispiel: <pre><code class="codeBlock" style="color: #000000">php $pathDest = '/[IHR-LAYOUT-PROJEKT]/wGlobal/content/categories'; wCategories::mergeCategories( $pathDest.'/allFlat.wCategories.php', array( $pathDest.'/countries.wCategories.php', $pathDest.'/products.wCategories.php', $pathDest.'/standard.wCategories.php' ), array('mergeType' => 'flat') ); </code></pre>
- Kann mergeCategories auch in einem Ereignis-Kontext ausgeführt werden?
- Ja. Im Beispiel wird der Zielpfad über <code class="codeInline">$eventData['dirPath']</code> ermittelt und anschließend wie gewohnt zusammengeführt. <pre><code class="codeBlock" style="color: #000000">php $pathDest = $eventData['dirPath']; wCategories::mergeCategories($pathDest.'/all.wCategories.php', array( $pathDest.'/countries.wCategories.php', $pathDest.'/products.wCategories.php', $pathDest.'/standard.wCategories.php' )); </code></pre>
- Muss ich das Framework beim Einbinden von Funktionen in eigenen Skripten weiter referenzieren?
- Im Hinweis steht: Wenn Sie eine Funktion innerhalb einer Weblication® Seite z. B. über ein **PHP-Quelltext Element** oder in einem **XSL-Template über <code class="codeInline">wsl:php</code>** einbinden, muss das Framework über die **<code class="codeInline">grid.php</code>** nicht mehr referenziert werden.