Meta Navigation ohne Artikel Umleitung

Gesperrt
csandro
Beiträge: 44
Registriert: Mo 30. Jan 2012, 02:25
Kontaktdaten:

Meta Navigation ohne Artikel Umleitung

Beitrag von csandro » Sa 1. Jun 2013, 05:52

Hallo,

ich stehe mal wieder vor einem Problem, welches ich einfach nicht gelöst bekomme. Ich hänge zum Verständnis
noch einen Screen an um es ein wenig verständlicher zu machen.

Rahmeninformationen:
Ich nutze eine Splitnavigation. In meiner Oberen Navigation wird nur ebene 1 ausgegeben und
in meiner Linken Navigation ebene 2. Das funktioniert auch alles wunderbar!

Problem:
Ich möchte nun eine Meta Navigation hinzufügen, welche nur auf bestimmte Punkte meiner
Linken Navigation (ebene 2) verweist. Bei der Meta Navigation muss dann auch der entsprechende
Menüpunkt aktiv gesetzt werden.

Ansätze:
Derzeit ist es so gelöst, das die Metanavigation auf eine zusätzliche Kategorie zugreift, welche Artikel
beinhaltet die auf den entsprechenden Inhalt von der Linken Navigation (ebene 2) weiterleiten. Ist
nicht so schön und sauber wie ich mir das Vorstelle. Ein weiterer Nachteil dieser Lösung ist, dass es
meiner Meinung nach keine Möglichkeit gibt hier abzufragen ob der Menüpunkt gewählt ist. Diese
Funktion wird beim aktiv setzen eines Menüpunkts somit nichts bringen:

$tpl->set('d', 'class', ($oContenidoCategory->getIdCat() == $idcat) ? ' class="active"' : '');

Der Grund ist ja auch logisch: Wenn man auf einen anderen Artikel Umleitet ist nicht der
Artikel aktiv welcher für die Umleitung benutzt wird.

Überlegung:
In meinem konkreten Fall ist es so, dass ich 3 Punkte in der Metanavigation anzeigen möchte, welche
bereits als Artikel in der Linken Navigation (ebene 2) zur Verfügung stehen. Eventuell könnte man
mit der idart arbeiten.

Habt Ihr eventuell eine Idee wie man das Lösen könnte.

Zum Screen:

Die grüne Außenkontur, welche den oberen Teil umschließt, ist der Teil der Problemlos funktioniert
Die rote Außenkontur, welche den unteren Teil umschließt, ist der Teil für den ich eine Lösung Suche.

Die rote Außenkontur um das jeweilige Navigationselement zeigt einen aktiven (z.B: class="active") Status
wenn der entsprechende Inhalt angezeigt wird.

Vielen Dank schon mal im Voraus
Dateianhänge
sceen_meta.jpg
zum Verständnis
(64.93 KiB) Noch nie heruntergeladen

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Meta Navigation ohne Artikel Umleitung

Beitrag von Spider IT » Sa 1. Jun 2013, 09:05

Hallo Sandro,

das ist relativ einfach: man liest die Redirect-URL aus und zerlegt sie, dann vergleicht man die enthaltene idcat oder idart (letztere über die Zuweisung zur idcat).
Der Code ist nicht getestet und zeigt nur die beschriebene Methode, muss also für jeden Link der Meta-Navigation eingesetzt werden.

Code: Alles auswählen

<?php
cInclude('classes', 'class.article.php');
$active = false;
$oArt = new Article($my_idart, $client, $lang); # $my_idart = idart des Link-Artikels
if ($oArt->getField('redirect')) {
    $url = $oArt->getField('redirect_url');
    if (substr($url, 0, 17) == 'front_content.php') { # faengt mit "front_content.php" an, z.B. "front_content.php?idcat=17"
        $url = substr($url, 18);
        $aUrl = explode('=', $url);
        switch ($aUrl[0]) {
            case 'idcat':
                # idcat der Weiterleitung mit aktueller idcat vergleichen
                if ($aUrl[1] == $idcat) {
                    $active = true;
                }
                break;
            case 'idart':
                # idcat fuer die idart aus der Weiterleitung ermitteln und mit aktueller idcat vergleichen
                $sql = 'SELECT idcat
                        FROM ' . $cfg['tab']['cat_art'] . '
                        WHERE (idart=' . $aUrl[1] . ')';
                $db->query($sql);
                if ($db->next_record()) {
                    if ($db->f('idcat') == $idcat) {
                        $active = true;
                    }
                }
                break;
        }
    }
}
# Hier jetzt den Link aufbauen, $active gibt die zu verwendende CSS-Klasse an

?>
Gruß
René

csandro
Beiträge: 44
Registriert: Mo 30. Jan 2012, 02:25
Kontaktdaten:

Re: Meta Navigation ohne Artikel Umleitung

Beitrag von csandro » Mi 3. Jul 2013, 22:36

Hey Rene,

vielen Dank nochmal.

Gesperrt