NAVIGATION
Ein Programmteil das alle verfügbaren Kategorie-IDs unterhalb der angegebenen Elternebene ausgibt.
Version 1.0 Bitte nicht mehr verwenden!!
function buildStruct_TopDown($start=0) { static $my_cat_id = ''; $struct = getStructureChildData($start); // child data available? foreach($struct as $value) { buildStruct_TopDown($value['acat_id']); $my_cat_id .= $my_cat_id != '' ? ','.$value['acat_id'] : $value['acat_id']; // echo '||'.$value['acat_id'].' ,'; } return $my_cat_id; }
Version 1.1 Empfohlen!! (Update: KH 25.01.2011)
function buildStruct_TopDown($start=0, &$my_cat_id='') { // KH: V1.1 25.01.2011 $struct = getStructureChildData($start); foreach($struct as $value) { // buildStruct_TopDown($value['acat_id'],$my_cat_id); $my_cat_id .= ($my_cat_id != '') ? ','.$value['acat_id'] : $value['acat_id']; buildStruct_TopDown($value['acat_id'],$my_cat_id); // echo '||'.$value['acat_id'].' ,'; } return $my_cat_id; }
Gegebene Struktur
------------------------------------ L E V E L .: : : : .0 1 2 3 <- LEVEL-Nr. .: : : : -+ home : ID=0 -+--+ category_01 ID=01 -+--+ category_02 ID=02 -+--+--+ category_02_01 ID=04 -+--+--+--+ category_02_01_01 ID=06 -+--+--+--+ category_02_01_02 ID=07 -+--+--+ category_02_01 ID=05 -+--+--+ category_02_02 ID=08 -+--+ category_03 ID=03 -+--+ category_04 ID=09 .: : : : .0 1 2 3 <- LEVEL Nr. ------------------------------------
Funktionsaufruf: $s = buildStruct_TopDown(2); category_02 → ID=02
Ausgabe $s: 4,6,7,5,8
Anzahl der Kategorien der nächsten Ebene wenn vorhanden.
echo count(getStructureChildData($GLOBALS['content']['cat_id']));
Einfaches Script un festzustellen, ob unterhalb der aktuellen Ebene eine Unterebene vorhanden ist.
// Sub-Level available? if (!count(getStructureChildData($GLOBALS['content']['cat_id']))) echo 'No Sub-level!'; else echo 'Sub-level available!';