Seite 2 von 2

Re: suche ganz simple horizontale navigation

Verfasst: Mi 10. Mär 2010, 08:59
von joe_ma
Guten Tag zusammen

Ich habe mit der Navigation Universell ein Problemchen, das ich nicht zu lösen im Stande bin. Ich habe eine Hauptnavi oben horizontal und eine vertikale Navi links im Layout. Das Hauptnavi-Modul hat folgenden Code:

Code: Alles auswählen

    <?php

    cInclude('classes', 'atelierq.navigation.class.inc.php');

    $cApiClient = new cApiClient($client);
    $aQnavigation = new aQnavigation($cApiClient->getProperty('navigation', 'idcat_servicenavigation'));

    $aQnavigation->between(0, '');
    $aQnavigation->maskNormal(0, '<div><a target="_self" href="{link}">{name1}</a></div>');
    $aQnavigation->maskNormalSub(0, '<div><a target="_self" href="{link}">{name1}</a></div>');
    $aQnavigation->maskSelected(0, '<div><a target="_self" href="{link}">›{name1}</a></div>');
    $aQnavigation->maskSelectedSub(0, '<div><a target="_self" href="{link}">›{name1}</a></div>');

    echo $aQnavigation->showNavigation(0);
    ?>
Das funktioniert wie gewünscht.

Das Subnavimodul hat folgenden Code:

Code: Alles auswählen

    <?php

    /*cInclude('classes', 'atelierq.navigation.class.inc.php');*/

    $cApiClient = new cApiClient($client);
    $aQnavigation = new aQnavigation($cApiClient->getProperty('navigation', 'idcat_servicenavigation'));


    /*
    * Ausgabe 4. Stufe
    */
    $aQnavigation->before(3, '<ul>');
    $aQnavigation->after(3, '</ul>');
    $aQnavigation->between(3, '');
    $aQnavigation->maskNormal(3, '<li class="ebene_4"><a href="{link}">{name1}</a></li>');
    $aQnavigation->maskNormalSub(3, '<li class="ebene_4"><a href="{link}">{name1}</a>{sub}</li>');
    $aQnavigation->maskSelected(3, '<li class="ebene_4"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->maskSelectedSub(3, '<li class="ebene_4"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->setSub(3, $aQnavigation->showNavigation(4));
    /*
    * Ausgabe 3. Stufe
    */
    $aQnavigation->before(2, '<ul>');
    $aQnavigation->after(2, '</ul>');
    $aQnavigation->between(2, '');
    $aQnavigation->maskNormal(2, '<li class="ebene_3"><a href="{link}">{name1}</a></li>');
    $aQnavigation->maskNormalSub(2, '<li class="ebene_3"><a href="{link}">{name1}</a>{sub}</li>');
    $aQnavigation->maskSelected(2, '<li class="ebene_3"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->maskSelectedSub(2, '<li class="ebene_3"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->setSub(2, $aQnavigation->showNavigation(3));
    /*
    * Ausgabe 2. Stufe
    */
    $aQnavigation->before(1, '<ul>');
    $aQnavigation->after(1, '</ul>');    
    $aQnavigation->between(1, '');
    $aQnavigation->maskNormal(1, '<li class="ebene_2"><a href="{link}">{name1}</a></li>');
    $aQnavigation->maskNormalSub(1, '<li class="ebene_2"><a href="{link}">{name1}</a>{sub}</li>');
    $aQnavigation->maskSelected(1, '<li class="ebene_2"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->maskSelectedSub(1, '<li class="ebene_2"><a href="{link}" class="aktiv">{name1}</a>{sub}</li>');
    $aQnavigation->setSub(1, $aQnavigation->showNavigation(2));
    /*
    * Ausgabe 1. Stufe
    */
    $aQnavigation->before(0, '<ul>');
    $aQnavigation->after(0, '</ul>');    
    $aQnavigation->between(0, '');
    $aQnavigation->maskNormal(0, '<li class="ebene_1"><a href="{link}">{name1}</a></li>');
    $aQnavigation->maskNormalSub(0, '<li class="ebene_1"><a href="{link}">{name1}</a>{sub}</li>');
    $aQnavigation->maskSelected(0, '<li class="ebene_1"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->maskSelectedSub(0, '<li class="ebene_1"><a href="{link}" class="aktiv">{name1}</a>{sub}</li>');
    $aQnavigation->setSub(0, $aQnavigation->showNavigation(1));

    /*
    * hier erfolgt die ausgabe an den browser
    */
    echo $aQnavigation->showNavigation(1);
    ?>
Leider wird hier nur bis zur 3. Stufe ausgegeben. Ich habe den Bereich für die 4. Stufe von der 3. Stufe kopiert und die Argumente angepasst. Liegt das Problem daran? Oder woran sonst?

Danke für Hilfe

Re: suche ganz simple horizontale navigation

Verfasst: Mi 10. Mär 2010, 09:17
von BagHira
Servus Jörg,

was passiert wenn du die letzte Zeile der Subnavi folgendermaßen änderst?

Code: Alles auswählen

echo $aQnavigation->showNavigation(0); 

Re: suche ganz simple horizontale navigation

Verfasst: Mi 10. Mär 2010, 09:22
von joe_ma
BagHira hat geschrieben: was passiert wenn du die letzte Zeile der Subnavi folgendermaßen änderst?

Code: Alles auswählen

echo $aQnavigation->showNavigation(0); 
Dann wird unterhalb der Subnavigation zusätzlich noch einmal die Hauptnavi ausgegeben.

Re: suche ganz simple horizontale navigation

Verfasst: Mi 10. Mär 2010, 11:07
von idea-tec

Code: Alles auswählen

    <?php

    /*cInclude('classes', 'atelierq.navigation.class.inc.php');*/

    $cApiClient = new cApiClient($client);
    $aQnavigation = new aQnavigation($cApiClient->getProperty('navigation', 'idcat_servicenavigation'));

    $aQnavigation->before(4, '<ul>');
    $aQnavigation->after(4, '</ul>');
    $aQnavigation->between(4, '');
    $aQnavigation->maskNormal(4, '<li class="ebene_4"><a href="{link}">{name1}</a></li>');
    $aQnavigation->maskNormalSub(4, '<li class="ebene_4"><a href="{link}">{name1}</a>{sub}</li>');
    $aQnavigation->maskSelected(4, '<li class="ebene_4"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->maskSelectedSub(4, '<li class="ebene_4"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->setSub(4, $aQnavigation->showNavigation(5));
    /*
    * Ausgabe 4. Stufe
    */
    $aQnavigation->before(3, '<ul>');
    $aQnavigation->after(3, '</ul>');
    $aQnavigation->between(3, '');
    $aQnavigation->maskNormal(3, '<li class="ebene_4"><a href="{link}">{name1}</a></li>');
    $aQnavigation->maskNormalSub(3, '<li class="ebene_4"><a href="{link}">{name1}</a>{sub}</li>');
    $aQnavigation->maskSelected(3, '<li class="ebene_4"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->maskSelectedSub(3, '<li class="ebene_4"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->setSub(3, $aQnavigation->showNavigation(4));
    /*
    * Ausgabe 3. Stufe
    */
    $aQnavigation->before(2, '<ul>');
    $aQnavigation->after(2, '</ul>');
    $aQnavigation->between(2, '');
    $aQnavigation->maskNormal(2, '<li class="ebene_3"><a href="{link}">{name1}</a></li>');
    $aQnavigation->maskNormalSub(2, '<li class="ebene_3"><a href="{link}">{name1}</a>{sub}</li>');
    $aQnavigation->maskSelected(2, '<li class="ebene_3"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->maskSelectedSub(2, '<li class="ebene_3"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->setSub(2, $aQnavigation->showNavigation(3));
    /*
    * Ausgabe 2. Stufe
    */
    $aQnavigation->before(1, '<ul>');
    $aQnavigation->after(1, '</ul>');    
    $aQnavigation->between(1, '');
    $aQnavigation->maskNormal(1, '<li class="ebene_2"><a href="{link}">{name1}</a></li>');
    $aQnavigation->maskNormalSub(1, '<li class="ebene_2"><a href="{link}">{name1}</a>{sub}</li>');
    $aQnavigation->maskSelected(1, '<li class="ebene_2"><a href="{link}" class="aktiv">{name1}</a></li>');
    $aQnavigation->maskSelectedSub(1, '<li class="ebene_2"><a href="{link}" class="aktiv">{name1}</a>{sub}</li>');
    $aQnavigation->setSub(1, $aQnavigation->showNavigation(2));

    /*
    * hier erfolgt die ausgabe an den browser
    */
    echo $aQnavigation->showNavigation(1);
    ?>

Re: suche ganz simple horizontale navigation

Verfasst: Mi 10. Mär 2010, 11:22
von joe_ma
Danke idea-tec

Das hat leider auch nix gebracht. Die Ausgabe erfolgt immer noch bloss bis Ebene 3.

Re: suche ganz simple horizontale navigation

Verfasst: Mi 10. Mär 2010, 12:50
von Dodger77
Es fehlt bei den tieferen Ebenen der Platzhalter {sub} bei der Methode maskSelectedSub(). Z.B.:

Code: Alles auswählen

$aQnavigation->maskSelectedSub(2, '<li class="ebene_3"><a href="{link}" class="aktiv">{name1}</a>{sub}</li>');
sollte besser funktionieren.

Re: suche ganz simple horizontale navigation

Verfasst: Mi 10. Mär 2010, 16:21
von idea-tec
Dodger77 hat geschrieben:Es fehlt bei den tieferen Ebenen der Platzhalter {sub}
sollte besser funktionieren.
Wo er Recht hat, hat er Recht.... :-) So genau habe ich nicht hingesehen, sorry

ABER!!! WO kommt das hier her?

Code: Alles auswählen

$aQnavigation->maskNormalSub(0, '<div><a target="_self" href="{link}">{name1}</a></div>');
Öhm ... gleich mal in die Klasse flitzen und nachsehen ob es das überhaupt gibt!!!

Re: suche ganz simple horizontale navigation

Verfasst: Mi 10. Mär 2010, 16:44
von Dodger77
Ein funktionierendes Subnavimodul würde dann wohl so in etwa aussehen:

Code: Alles auswählen

<?php

/*cInclude('classes', 'atelierq.navigation.class.inc.php');*/

$cApiClient = new cApiClient($client);
$aQnavigation = new aQnavigation($cApiClient->getProperty('navigation', 'idcat_servicenavigation'));


/*
 * Ausgabe 4. Stufe
 */
$aQnavigation->before(3, '<ul>');
$aQnavigation->after(3, '</ul>');
$aQnavigation->between(3, '');
$aQnavigation->maskNormal(3, '<li class="ebene_4"><a href="{link}">{name1}</a></li>');
$aQnavigation->maskNormalSub(3, '<li class="ebene_4"><a href="{link}">{name1}</a>{sub}</li>');
$aQnavigation->maskSelected(3, '<li class="ebene_4"><a href="{link}" class="aktiv">{name1}</a></li>');
$aQnavigation->maskSelectedSub(3, '<li class="ebene_4"><a href="{link}" class="aktiv">{name1}</a>{sub}</li>');
$aQnavigation->setSub(3, $aQnavigation->showNavigation(4));
/*
  * Ausgabe 3. Stufe
 */
$aQnavigation->before(2, '<ul>');
$aQnavigation->after(2, '</ul>');
$aQnavigation->between(2, '');
$aQnavigation->maskNormal(2, '<li class="ebene_3"><a href="{link}">{name1}</a></li>');
$aQnavigation->maskNormalSub(2, '<li class="ebene_3"><a href="{link}">{name1}</a>{sub}</li>');
$aQnavigation->maskSelected(2, '<li class="ebene_3"><a href="{link}" class="aktiv">{name1}</a></li>');
$aQnavigation->maskSelectedSub(2, '<li class="ebene_3"><a href="{link}" class="aktiv">{name1}</a>{sub}</li>');
$aQnavigation->setSub(2, $aQnavigation->showNavigation(3));
/*
 * Ausgabe 2. Stufe
 */
$aQnavigation->before(1, '<ul>');
$aQnavigation->after(1, '</ul>');   
$aQnavigation->between(1, '');
$aQnavigation->maskNormal(1, '<li class="ebene_2"><a href="{link}">{name1}</a></li>');
$aQnavigation->maskNormalSub(1, '<li class="ebene_2"><a href="{link}">{name1}</a>{sub}</li>');
$aQnavigation->maskSelected(1, '<li class="ebene_2"><a href="{link}" class="aktiv">{name1}</a></li>');
$aQnavigation->maskSelectedSub(1, '<li class="ebene_2"><a href="{link}" class="aktiv">{name1}</a>{sub}</li>');
$aQnavigation->setSub(1, $aQnavigation->showNavigation(2));

/*
  * hier erfolgt die ausgabe an den browser
 */
echo $aQnavigation->showNavigation(1);
?>

Re: suche ganz simple horizontale navigation

Verfasst: Do 11. Mär 2010, 07:23
von joe_ma
Vielen Dank für eure Hilfe. Das Modul von Dodger77 macht genau das, was ich wollte. :D