Wie ein zwei-geteiltes Navi mit dem Standard-Modul

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

Wie ein zwei-geteiltes Navi mit dem Standard-Modul

Beitrag von womic2000 »

Ich dachte man könnte einfach über diese Zeile:

$aBreadcrumb = $oBreadcrumb->getAsArray($idcat, 1); // this nav starts at level 1

den Level eintragen ab wann dieses Menü angezeigt wird.
Um so ein 2-geteiltes Menü zu erhalten.

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 = $tp1->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().')';
}
?>
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Wie ein zwei-geteiltes Navi mit dem Standard-Modul

Beitrag von GaMbIt_ »

Und wie lautet Deine Frage?
Nützliche Contenido Infos gibts hier: Contenido Wiki
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Re: Wie ein zwei-geteiltes Navi mit dem Standard-Modul

Beitrag von womic2000 »

Ok, das geht aber nicht. Wenn ich den Level auf 2 Stelle, kommt immer noch alles.

Weiss jemand Rat ?
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Wie ein zwei-geteiltes Navi mit dem Standard-Modul

Beitrag von GaMbIt_ »

Und wie lautet Deine Frage?

Rat weiss ich...
Wer fragt bekommt eine Antwort... meine Glaskugel ist leider in Reparatur...
Nützliche Contenido Infos gibts hier: Contenido Wiki
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Re: Wie ein zwei-geteiltes Navi mit dem Standard-Modul

Beitrag von womic2000 »

Ok, für dich werde ich die Frage ganz genau formulieren:

Wie mache ich es mit dem o.g. Modul, dass nur die 2. Level-Kategorien der selektieren 1. Level-Kategorie an anderer Stelle angezeigt wird, wie die 1. Level-Kategorie.
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Wie ein zwei-geteiltes Navi mit dem Standard-Modul

Beitrag von GaMbIt_ »

Soweit ich weiss geht das mit diesem Modul nicht.

Ein guter Tipp ist da Navigation Universell
http://forum.contenido.org/viewtopic.php?f=51&t=17626
Dort kannst Du Navigationen in versschiedenen Containern ausgeben lassen...
Nützliche Contenido Infos gibts hier: Contenido Wiki
womic2000
Beiträge: 65
Registriert: Mo 17. Nov 2003, 11:18
Wohnort: Stuttgart
Kontaktdaten:

Re: Wie ein zwei-geteiltes Navi mit dem Standard-Modul

Beitrag von womic2000 »

Danke für deinen Tipp.

Ich habe es gerade mal eingebaut und getestet. Soweit läuft es. Muss morgen nur noch das Design anpassen.
Gesperrt