Hallo xmurrix und Oldperl,
habe den Code...
Code: Alles auswählen
// init template
if(!is_object($tpl)) {
$tpl = new Template();
}
$tpl->reset();
...in das Modul "navigation3" eingebaut:
Code: Alles auswählen
<?php
/**
* $RCSfile$
*
* Description:
* Main Navigation, displays Navigation from a starting idcat down to the max. level set.
* For now (as of 2009-01-12) all subcategories are put inside one <ul> and are assigned css classes
* to distinguish level depth, first/last and active item property.
*
* Module requires two client settings:
* navigation_main_standard | start_idcat
* navigation_main_standard | level_depth
*
* To modify the behaviour of the module (e.g. style of URL, CSS classes, ...), you need to edit Contenido_NavMain_Util::loopCats
* @see {frontend}/includes/Util/Modules/Contenido_NavMain_Util.class.php
*
* @version 1.0.0
* @author Rudi Bieller
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2009-01-12
* }}
*
* $Id: Navigation_Standard.php 3444 2009-01-19 11:42:59Z rudi.bieller $
*/
// init template
if (!isset($db)) {
$db = new DB_Contenido();
}
if (!isset($tpl)) {
$tpl = new Template();
}
if(!is_object($tpl)) {
$tpl = new Template();
}
$tpl->reset();
cInclude('classes', 'Contenido_FrontendNavigation/Contenido_FrontendNavigation.class.php');
cInclude('frontend', 'includes/Util/Modules/Contenido_NavMain_Util.class.php');
$iStartIdcat = getEffectiveSetting('navigation', 'idcat-navigation3', 34);
$iSelectedDepth = getEffectiveSetting('navigation', 'level-depth', 3);
if ($iStartIdcat > 0) {
$oFeNav = new Contenido_FrontendNavigation($db, $cfg, $client, $lang, $cfgClient);
$oFeNav->setAuth($auth);
$oFeNav->setRootCat($iStartIdcat);
$oSubCategories = $oFeNav->getSubCategories($iStartIdcat, true, true, 1);
// see if there are any subcategories to display
if ($oSubCategories->count() > 0) {
echo '<pre>Subkategorien gefunden</pre>';
$aLevelInfo = array();
$aDepthInfo = array();
$aDepthInfo[0] = 0;
$aDepthInfo[1] = $iSelectedDepth;
foreach ($oSubCategories as $oSubCategory) {
echo '<pre>Subkategorieid: ' . $oSubCategory->getIdCat() . '</pre>';
Contenido_NavMain_Util::loopCats($oSubCategory, $oFeNav, $tpl, $cfg, $lang, $aLevelInfo, intval($idcat), $aDepthInfo);
}
$tpl->generate('templates/navigation_standard.html');
}
} else {
echo '<p>Navigation not configured correctly.</p>';
}
?>
...hat aber leider auch nicht geholfen.
Diesen Beispielcode getestet....
Code: Alles auswählen
...
if ($iStartIdcat > 0) {
$oFeNav = new Contenido_FrontendNavigation($db, $cfg, $client, $lang, $cfgClient);
$oFeNav->setAuth($auth);
$oFeNav->setRootCat($iStartIdcat);
$oSubCategories = $oFeNav->getSubCategories($iStartIdcat, true, true, 1);
// see if there are any subcategories to display
if ($oSubCategories->count() > 0) {
echo '<pre>Subkategorien gefunden</pre>';
$aLevelInfo = array();
$aDepthInfo = array();
$aDepthInfo[0] = 0;
$aDepthInfo[1] = $iSelectedDepth;
foreach ($oSubCategories as $oSubCategory) {
echo '<pre>Subkategorieid: ' . $oSubCategory->getIdCat() . '</pre>';
Contenido_NavMain_Util::loopCats($oSubCategory, $oFeNav, $tpl, $cfg, $lang, $aLevelInfo, intval($idcat), $aDepthInfo);
}
$tpl->generate('templates/navigation_standard.html');
}
} else {
echo '<p>Navigation not configured correctly.</p>';
}
...
-> Der komplette Code wird direkt an der Stelle im Frontend ausgegeben (Seite und Quellcode). Das gleiche Ergebnis wie mit "else... foobar".
- ...und ohne Punkte, also direkt die passenden Zeilen ausgetauscht/ersetzt.
-> Da es ja der selbe Code ist, wird natürlich wieder im Frontend eine leere Zeile im Quellcode ausgegeben.
Möglich - eher nicht:
Vielleicht erwähne ich das jetzt zu spät, aber ich verwende statt die "Navigation_Main" die geteile Navigation
http://www.dinkelacker.biz/upload/modul ... eteilt.zip und die "Navigation_Meta".
Aber das sollte doch im Normalfall nicht relevant sein... denke ich... Da die "Navigation_Main" im Prinzip "ruht" und nicht verwendet wird. Aktiviere ich diese, dann läuft sie wie sie laufen soll.
Wollte das jetzt nur noch erwähnen, da das vielleicht (aber kann ich mir nicht vorstellen, da die geteilte Navi separate Dateien verwendet) damit zusammen hängen könnte.
Im "Contenido Fehlerlog" wird auch kein Fehler ausgegeben.
Wenn also eure möglichen Schritte nicht funktionieren, dann muss ich doch iiiirgendwo etwas nicht konfiguriert bzw. nicht beachtet haben...
Noch einmal kurz meine Änderungen für die zusätzliche Navi zusammengefasst:
- - Layout mit <container id="34" name="navigation3" types="Navigation" mode="fixed" default="navigation3">navigation3</container> an gewünschte Stelle gesetzt.
- - Neues Modul angelegt -> Code von "Ausgabe" der "Navigation_Main" übernommen und Zeile mit $iStartIdcat = getEffectiveSetting('navigation', 'idcat-navigation3', 34); ersetzt.
- - Mandanteneinstellung die neue Variable hinzugefügt: "navigation, idcat-navigation3, 34".
- ..und natürlich eine Kategorie mit Baum "navigation3" angelegt, dort noch Unterpunkte angelegt und alle bis auf die 1.Ebene mit Artikeln gefüllt und alle Artikel in den Unterpunktn auf Startseite gesetzt. Auch die 1.Ebene mit einem Artikel gefüllt um zu schauen ob es daran liegt...
...das wars?! Richtig?
Wie gesagt, wird im Code bei Ausgabe der "navigation3" z.B. ein falscher Code eingetragen, wird dieser im Frontend angezeigt. Der Container "34" wird verwendet.
Viele Grüße
nurich