ich wollte eben einmal das Original Hauptnavi-Modul der 4.8.x so umsetzen, das man eine max. Ebenenanzahl in der Tiefe angeben kann. Momentan geht es ja nur bis zur 3. Ebene. In einem anderen Beitrag wurde dies schon bis zur 4. Ebene umgesetzt.
Nun aber mein Problem:
Ich habe erst einmal zum Testen die Ebenen bis in die 7. Unterkategorie erweitert um hinter das System zu steigen. Das scheint eingentlich auch so zu funktionieren, mir wird aber immer, egal was ich nun noch mache, die Unternavi nur bis zum max 4. Ebene angezeigt.
Dann habe ich mir um das Problem zu lösen unter anderem die verwendete Klasse Contenido_FrontendNavigation.class.php unter contenido/classes angeschaut und da ist mir folgender Code aufgefallen:
Code: Alles auswählen
* @param int $iSubCategoriesLoadDepth Up to shich level should SubCategories be loaded. Defaults to 3 for a 3-level Navigation.
* @return boolean
* @author Rudi Bieller
*/
protected function loadSubCategories($iIdcat, $bAsObjects = true, $bWithSubCategories = false, $iSubCategoriesLoadDepth = 3) {
$iIdcat = (int) $iIdcat;
$bUseAuth = (is_null($this->oAuth) ||
Code: Alles auswählen
* @param int $iSubCategoriesLoadDepth Up to shich level should SubCategories be loaded. Defaults to 3 for a 3-level Navigation.
* @return mixed Contenido_Categories or Array, depending on value for $bAsObjects
* @author Rudi Bieller
*/
public function getSubCategories($iIdcat, $bAsObjects = true, $bWithSubCategories = false, $iSubCategoriesLoadDepth = 3) {
$this->loadSubCategories($iIdcat, $bAsObjects, $bWithSubCategories, $iSubCategoriesLoadDepth);
return $bAsObjects === true ? $this->oCategories : $this->aCategories;
}
Ich habe nun zum Testen diesen Wert bei beiden Funktionen einmal auf 8 gesetzt, aber es wird weiterhin die Navi nur bis zur 4. Ebene angezeigt. Kann es sein das der Level noch anders wo in der Tiefe beschränkt wird? Damit meine ich einen Code-Cache oder in einer andere Klasse?
Unabhängig davon würde ja bei einer Änderung innerhalb der Klasse diese bei einem nächsten Update (was momentan ja sehr oft vorkommt^^) wieder überschrieben werden. Im Navimodul steht nun folgender Code:
Ich könnte ja also diesen Code folgendermaßen für sieben Level ändern:$oContenidoCategories = $oFeNav->getSubCategories($iIdcatStart, true);
Code: Alles auswählen
$oContenidoCategories = $oFeNav->getSubCategories($iIdcatStart, true, false, 7);
Nun brauche ich also ein paar Tipps bzw. Anregungen

Immerhin wurde es ja auch von 4fb programmiert und die müssten ja dann auch wissen wo hier die Problematik und die Lösung liegt.
Gruß yodatortenboxer