geteilte Navigation 4.8.14

sarronsarron
Beiträge: 251
Registriert: Do 10. Mär 2011, 17:02
Wohnort: Erlangen
Kontaktdaten:

geteilte Navigation 4.8.14

Beitrag von sarronsarron »

Hallo gibt es schon eine Lösung für eine geteilte Navigation in 4.8.14 ?

Ich möchte gerne die Hauptnaivation horizontal und die Unternavigation vertikal laufen lassen.

Für die Hauptnavigation habich schon eine einfache Lösung: Modul Naviagation_Main --> $iSelectedDepth auf 1 setzen. Fuktioniert prima.

Aber wie kann ich dieser Navigation (wird dupliziert unter Unter_Navigation_Main) sagen, dass sie mit einer bestimmten idcat beginnen soll?

Dank im Voraus
sarronsarron
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von Oldperl »

ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
sarronsarron
Beiträge: 251
Registriert: Do 10. Mär 2011, 17:02
Wohnort: Erlangen
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von sarronsarron »

Hi,

danach hab ich schon gesucht. Aber nix passendes zu 4.8.14 gefunden. Das ist die Navi ganz neu gemacht.
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von Oldperl »

Hallo,

:arrow: http://forum.contenido.org/viewtopic.ph ... 43&start=0
sarronsarron hat geschrieben:Aber nix passendes zu 4.8.14 gefunden.
Module im Suchergebnis laufen fast alle auch in der 4.8.14 wenn nicht anders angegeben.
sarronsarron hat geschrieben:Das ist die Navi ganz neu gemacht.
Was soll das heißen?

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
sarronsarron
Beiträge: 251
Registriert: Do 10. Mär 2011, 17:02
Wohnort: Erlangen
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von sarronsarron »

Hi,

Das Navigationsmodul von 4.8.8 ist komplett unterschiedlich programmiert wie das von 4.8.14

gruß
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von Oldperl »

Hallo,

nun das ist gut möglich, wie der Core von Contenido so wird auch am Demomandant immer wieder gearbeitet. Dabei kommt es auch immer vor, das vorhandene Module überarbeitet oder ersetzt werden. Die meisten dieser Module sind aber trotzdem über viele Versionen verwendbar, solange sie nicht auf nur in bestimmten Coreversionen vorhanden Elemente zugreifen.
Auch ein Grund warum noch viele Module der 4.6er Version in einem 4.8er Contenido ohne, oder mit kleinen, Anpassungen lauffähig sind. Du solltest dir die entsprechenden Thread aus dem Suchergebnis ruhig mal in Ruhe durchlesen, dort wird auch erklärt, wie man die Navi an eigene Menüstrukturen anpasst. Daraus läßt sich dann auch problemlos der Ablauf für eine 3-fach Navigation ableiten.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
sarronsarron
Beiträge: 251
Registriert: Do 10. Mär 2011, 17:02
Wohnort: Erlangen
Kontaktdaten:

Re: geschafft - geteilte Navigation 4.8.14

Beitrag von sarronsarron »

Hi,

hab jetzt aus der Nvaigation_Main 4.8.14 selber eine geteilte Navigation gemacht.

anbei eine kleine Anleitung (bei mir funktioniert es einwandfrei)

1. im Modul Navigation_Main die Auflösetiefe andern auf "nur Stufe 1"
Zeile 40 --> $iSelectedDepth = getEffectiveSetting('navigation', 'level-depth', 1);

2. Style / Modul Templates von navigation_standard.html duplizieren auf unternavigation_standard.html
( Achtung: _li und _ul auch duplizieren )

3. Modul Navigation_Main auf Navigation_Main_Unter duplizieren.

Modul Navigation_Main_Unter ändern

nach $tpl->reset(); folgendes einfügen: (Zugriff auf die parentid)

global $rootidcat;

$db = new DB_Contenido;
$sql = "SELECT idcat,parentid FROM ".$cfg["tab"]["cat"]." WHERE idcat = '$idcat'";
$db->query($sql);
$db->next_record();
$parentidcat = $db->f("parentid");
$rootidcat = $db->f("idcat")

vor if ($iStartIdcat > 0) { folgendes einfügen ( Start ab dieser idcat)

$iStartIdcat=$parentidcat;

4. Neues Html Template zuordnen --> $tpl->generate('templates/unternavigation_standard.html');

Gruß sarronsarron
derju
Beiträge: 301
Registriert: Do 15. Jan 2009, 09:00
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von derju »

Hallo sarronsarron

Die Navigation funktioniert bei mir bis auf das wenn ich den Unternavigationspunkt anwähle die Unternavigation wieder verschwindet.

Hast Du mir da einen Tipp?

Beste Grüsse
derJu
Contenido 4.8.20 | Contenido 4.9.12
sarronsarron
Beiträge: 251
Registriert: Do 10. Mär 2011, 17:02
Wohnort: Erlangen
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von sarronsarron »

Hast du ev. einen Link zu deinem Projekt damit ich es mir mal ansehen kann.
Gruß sarronsarron
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: geschafft - geteilte Navigation 4.8.14

Beitrag von rethus »

An dieser Stelle hat sich bei dir ein Fehler eingeschlichen:
sarronsarron hat geschrieben:Hi,
vor if ($iStartIdcat > 0) { folgendes einfügen ( Start ab dieser idcat)

$iStartIdcat=$parentidcat;
Hier funktioniert es bei mir nur, wenn ich

Code: Alles auswählen

$iStartIdcat=$idcat;
eingebe.
derJu hat geschrieben: Die Navigation funktioniert bei mir bis auf das wenn ich den Unternavigationspunkt anwähle die Unternavigation wieder verschwindet.

Hast Du mir da einen Tipp?
Beste Grüsse
derJu
Das gleiche hab ich hier auch. Habe dabei folgendes Verhalten rausgefunden:
Klicke ich auf einen Hauptmenüpunkt, erscheint in der SubNavi auch die 1. Ebene (also ein dublikat der Hauptnavigation)
Klickt man auf einen UnterMenüPunkt verändert sich die "einstiegsebene" der Subnavigation um eine ebene nach unten.
Das Problem war halt, dass bei iStartIdcat die falsche Id übergeben wurde. Er also immer die aktuelle "parentid" als basis nahm.
Zuletzt geändert von rethus am Do 19. Mai 2011, 09:34, insgesamt 1-mal geändert.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
derju
Beiträge: 301
Registriert: Do 15. Jan 2009, 09:00
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von derju »

Hallo Rethus

Sobald du jetzt auf den Unterpunkt klickst verschwindet der, oder?

Beste Grüße
derJu
Contenido 4.8.20 | Contenido 4.9.12
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von rethus »

Ok, hat mir ne menge Gehirnschmalz gekostet, aber nun hab ich es hinbekommen.
es muss zwischen zwei Fällen unterschieden werden:

1) aktuelle idcat= auf erster Ebene
2) aktuelle idcat= auf unterster Ebene.

Für Fall 1 reicht es, wie sarronsarron es vorgemacht hat. Für Fall zwei muss aber eine Rekursive Abfrage erfolgen, welche sich bis auf 1. ebene hochhangelt.

Hier der Quellcode:

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>
*
* Modified by Samuel Suther <www.suther.de>
* Modifications: Useable for Subnavigation now.
*
* {@internal
* created 2009-01-12
* }}
*
* $Id: Navigation_Standard.php 3444 2009-01-19 11:42:59Z rudi.bieller $
*/

if (!isset($db)) {
    $db = new DB_Contenido();
}
if (!isset($tpl)) {
    $tpl = new Template();
}
$tpl->reset();

global $rootidcat;
$baseNode = 1;

$db  = new DB_Contenido;
    $tmpCutId = $idcat;

// Wenns auf erster ebene ist, sublinks anzeigen
  $sql = "SELECT idcat, parentid FROM ".$cfg["tab"]["cat"]." WHERE idcat = '$idcat' AND parentid='$baseNode'";
    $db->query($sql);
    if( $db->next_record()){
          $rootidcat=$idcat;
    }else{

     while(getParentOf($tmpCutId, $baseNode)){
         $rootidcat = $tmpCutId;
     }
}
function getParentOf($parent,$baseNode){
global $db, $tmpCutId, $cfg; 
        $sql = "SELECT idcat, parentid FROM ".$cfg["tab"]["cat"]." WHERE idcat = '$parent'";
        $db->query($sql);
        if( $db->next_record() ){
            $tmpCutId = $db->f("parentid");
            if($db->f("parentid")==$baseNode){
            $rootidcat=$db->f("idcat");
                return false;}
            else 
                return true;
        }
}

cInclude('classes', 'Contenido_FrontendNavigation/Contenido_FrontendNavigation.class.php');
cInclude('frontend', 'includes/Util/Modules/Contenido_NavMain_Util.class.php');

#$iStartIdcat     = getEffectiveSetting('navigation', 'idcat-home', 1);
$iSelectedDepth  = getEffectiveSetting('navigation', 'level-depth', 1);
$iStartIdcat     = $rootidcat;

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) {
        $aLevelInfo = array();
        $aDepthInfo = array();
        $aDepthInfo[0] = 0;
        $aDepthInfo[1] = $iSelectedDepth;
        foreach ($oSubCategories as $oSubCategory) {
            Contenido_NavMain_Util::loopCats($oSubCategory, $oFeNav, $tpl, $cfg, $lang, $aLevelInfo, intval($idcat), $aDepthInfo);
        }
        $tpl->generate('templates/subnavigation_standard.html');
    }
} else {
    echo '<p>Navigation not configured correctly.</p>';
}
?>
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
sarronsarron
Beiträge: 251
Registriert: Do 10. Mär 2011, 17:02
Wohnort: Erlangen
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von sarronsarron »

Hi rethus,

deine Navi funktioniert bei mir einwandfrei. Hauptnavigation und Unternavigation.

Jetzt brauch ich leider auch noch eine 3 Stufe also Unternavigation2.

Hast du dafür auch schon eine Lösung?

Dank im Voraus
Sarronsarron
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von rethus »

Ne, keine Lösung.. aber auch kein Bedarf.. sorry...
Und da ich derzeit noch einiges an arbeit habe, bei den bezahlten Projekten... kann ich die Zeit hier für Lau leider nicht opfern. Ich könnte dir höchstens anbieten, dass gegen Aufwand abzurechnen. Bei interesse einfach kurz per ICQ oder Mail kontaktieren.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
sarronsarron
Beiträge: 251
Registriert: Do 10. Mär 2011, 17:02
Wohnort: Erlangen
Kontaktdaten:

Re: geteilte Navigation 4.8.14

Beitrag von sarronsarron »

Hi retus,

hab eine Lösung für n.... Unternavigationen gefunden.

Habs aber im Moment noch nicht sauber programmiert. Werd ich aber noch tun.
Dann muss man in dem Unternavigationsmodul nur die Stufen angeben. Fertig.

Gruß sarronsarron
Gesperrt