Navigation kommt nicht

Gesperrt
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Navigation kommt nicht

Beitrag von womic2000 »

Hi,
ich verwende Version 4.8.11 und folgendes Modul:

Code: Alles auswählen

<?php
/**
* $RCSfile$
*
* Description: Navigation, left side.
*
* @version 1.0.0
* @author Rudi Bieller
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2008-04-07
* }}
*
* $Id$
*/

// include Contenido_FrontendNavigation class
cInclude('classes', 'Contenido_FrontendNavigation/Contenido_FrontendNavigation.class.php');
cInclude('classes', 'Contenido_FrontendNavigation/Contenido_FrontendNavigation_Breadcrumb.class.php');

// get start idcat
$iIdcatStart = getEffectiveSetting('navigation', 'idcat-home', 1);

// instantiate 2nd + 3rd template object, reset all
$tpl2 = new Template();
$tpl3 = new Template();

if (!isset($tpl) || !is_object($tpl)) {
    $tpl = new Template();
}

$tpl->reset();
$tpl2->reset();
$tpl3->reset();

// build navigation
try {
    $oFeNav = new Contenido_FrontendNavigation($db, $cfg, $client, $lang, $cfgClient);
    $oBreadcrumb = new Contenido_FrontendNavigation_Breadcrumb($db, $cfg, $client, $lang, $cfgClient);
    $aBreadcrumb = $oBreadcrumb->getAsArray($idcat, 1); // this nav starts at level 1
    $oFeNav->setAuth($auth); // to make sure user sees what he's allowed to see
    $oContenidoCategories = $oFeNav->getSubCategories($iIdcatStart, true);
    if ($oContenidoCategories->count() > 0) {
        foreach ($oContenidoCategories as $oContenidoCategory) {
            $sSubcats = '';
            $tpl2->reset();
            $bHasActiveSubCat = false;
            // check if we need to load subcategories
            $oSubCatsLevel2 = $oFeNav->getSubCategories($oContenidoCategory->getIdCat(), true);
            $aSubCatsLevel2 = $oFeNav->getSubCategories($oContenidoCategory->getIdCat(), false);
            $bShowSubcatLevel2 = (intval($idcat) == $oContenidoCategory->getIdCat() || in_array(intval($idcat), $aSubCatsLevel2) 
                                || (isset($aBreadcrumb[2]) && intval($idcat) == $aBreadcrumb[2] && in_array($aBreadcrumb[1], $aSubCatsLevel2)))
                                ? true : false;
            if ($bShowSubcatLevel2 === true && $oSubCatsLevel2->count() > 0) {
                foreach ($oFeNav->getSubCategories($oContenidoCategory->getIdCat(), true) as $oSubCategory) {
                    $bHasActiveSubSubCat = false;
                    // check if we need to load subsubcategories
                    $oSubCatsLevel3 = $oFeNav->getSubCategories($oSubCategory->getIdCat(), true);
                    $aSubCatsLevel3 = $oFeNav->getSubCategories($oSubCategory->getIdCat(), false);
                    $bShowSubcatLevel3 = (intval($idcat) == $oSubCategory->getIdCat() || 
                                            in_array(intval($idcat), $aSubCatsLevel3))
                                            ? true : false;
                    $sSubcats2 = '';
                    if ($bShowSubcatLevel3 === true && $oSubCatsLevel3->count() > 0) {
                        foreach ($oSubCatsLevel3 as $oSubSubCategories) {
                            if ($bHasActiveSubCat === false && intval($idcat) == $oSubSubCategories->getIdCat()) {
                                $bHasActiveSubCat = true;
                            }
                            if ($bHasActiveSubSubCat === false && intval($idcat) == $oSubSubCategories->getIdCat()) {
                                $bHasActiveSubSubCat = true;
                            }
                            toTpl($tpl3, $oSubSubCategories, (intval($idcat) == $oSubSubCategories->getIdCat() ? ' class="active"' : ''), '');
                        }
                        $sSubcats2 = $tpl3->generate('templates/navigation_main_item.html', true, false);
                        $tpl3->reset();
                        $tpl3->set('s', 'items', $sSubcats2);
                        $tpl3->set('s', 'css-class', ' class="subSubNavigation"');
                        $sSubcats2 = $tpl3->generate('templates/navigation_main_container.html', true, false);
                    }
                    if ($bHasActiveSubCat === false && intval($idcat) == $oSubCategory->getIdCat()) {
                        $bHasActiveSubCat = true;
                    }
                    toTpl($tpl2, $oSubCategory, 
                            (intval($idcat) == $oSubCategory->getIdCat() || $bHasActiveSubSubCat === true ? ' class="active"' : ''), 
                            $sSubcats2);
                }
                $sSubcats = $tpl2->generate('templates/navigation_main_item.html', true, false);
                $tpl2->reset();
                $tpl2->set('s', 'items', $sSubcats);
                $tpl2->set('s', 'css-class', ' class="subNavigation"');
                $sSubcats = $tpl2->generate('templates/navigation_main_container.html', true, false);
            }
            toTpl($tpl, $oContenidoCategory, ($bHasActiveSubCat === true || intval($idcat) == $oContenidoCategory->getIdCat() ? ' class="active"' : ''), $sSubcats);
        }
        $sCats = $tpl->generate('templates/navigation_main_item.html', true, false);
        $tpl->reset();
        $tpl->set('s', 'css-class', '');
        $tpl->set('s', 'items', $sCats);
        $tpl->generate('templates/navigation_main_container.html');
    }
} catch (Exception $e) {
    echo 'Some error occured: ' . $e->getMessage() . ': ' . $e->getFile() . ' at line '.$e->getLine() . ' ('.$e->getTraceAsString().')';
}

/*
 * Helper to push values to Template object
 * @param Template $oTpl
 * @param Contenido_Category $oCat
 * @param string $sActiveCssClass must bei either empty string or " class="classname"
 * @param string $sSubcats String with subcategories of current category
 */
function toTpl(&$oTpl, Contenido_Category $oCat, $sActiveCssClass, $sSubcats) {
    $oTpl->set('d', 'css-class', $sActiveCssClass);
    $oTpl->set('d', 'url', 'front_content.php?idcat='.$oCat->getIdCat());
    $oTpl->set('d', 'title', $oCat->getCategoryLanguage()->getName());
    $oTpl->set('d', 'label', $oCat->getCategoryLanguage()->getName());
    $oTpl->set('d', 'subcategories', $sSubcats); // followup level
    $oTpl->next();
}
?>
Im Layout habe ich die Navigation wie folgt eingebaut:

Code: Alles auswählen

<container id="20" name="NavigationMain" types="Navigation" default="NavigationMain">NavigationMain</container>
Kategorien sind erstellt und enthalten Startartikel. In der Mandanteneinstellung ist idcat-home richtig gesetzt. Die beiden Modul-Template sind vorhanden.

Die Seite kommt auch, aber die Navigation fehlt. Auch im Sourcecode ist kein einziger Codeschnipsel der Navigation enthalten.
Ich habe keinen blassen Schimmer, warum nicht. Hatte ich noch nie. Weiss vielleicht jemand einen Tipp ?
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Re: Navigation kommt nicht

Beitrag von womic2000 »

Natürlich ist auch im Template die Navigation eingetragen. Die komplette Seite ist mit div's aufgebaut.
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Navigation kommt nicht

Beitrag von GaMbIt_ »

Kannman sich das irgendwo ansehen?
Hast Du schon mal überprüft ob die Kategorien online, die Artikel ebenfalls online sind?
Nützliche Contenido Infos gibts hier: Contenido Wiki
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Re: Navigation kommt nicht

Beitrag von womic2000 »

Habe gerade festgestellt, dass bei "idcat-home" = 35 zurück kommt.
Das ist aber von einem anderen Mandanten. Der richtige Wert ist 123.

Außerdem kommt bei "$oContenidoCategories->count()" = 0 zurück, aber es gibt welche.

Hier scheint etwas mit den Mandanten durcheinander gekommen sein !? Aber was ?
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Navigation kommt nicht

Beitrag von GaMbIt_ »

hm...
In welchem Mandanten hast Du denn diese Mandanteneigenschaft eingetragen?
Wenn der count 0 ist komm selbstverständlich nix gescheites zurück ;)
Nützliche Contenido Infos gibts hier: Contenido Wiki
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Re: Navigation kommt nicht

Beitrag von womic2000 »

Aber der Client stimmt, es ist der richtige, und zwar $client=6
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Gelöst: Re: Navigation kommt nicht

Beitrag von womic2000 »

Habe einen neuen Mandant erstellt, dort wieder alles so eingerichtet wie beim alten (der wo nicht geht).
Und jetzt funktioniert es.
Gesperrt