Wie füge ich meine eigene Navigation in den Styleditor ein?

darkjumper
Beiträge: 26
Registriert: Mi 29. Feb 2012, 20:35
Kontaktdaten:

Navigation (kleines Problem)

Beitrag von darkjumper »

hallo,

ich habe jetzt diese Navigation (screen3)

allerdings möchte ich, dass sie so wie in screen2 angezeigt wird (metanavi oben weg und bei der hauptnavigation die unterpunkte horizontal)

Ich habe schon Tipps von Spider IT bekommen, doch leider haben sie nichts gebracht.

Hier mal mein INPUT:

Code: Alles auswählen

?> 
<table cellspacing="0" cellpadding="0" cellpadding="4">

    <tr>
        <td class="text_medium">Baum wählen:</td>
        <td>
            <select name="CMS_VAR[0]">
            <option value="0">-- kein --</option>
            <?php

                $sql = "SELECT
                            A.idcat,
                            C.name
                        FROM
                            ".$cfg["tab"]["cat_tree"]." AS A,
                            ".$cfg["tab"]["cat"]." AS B,
                            ".$cfg["tab"]["cat_lang"]." AS C
                        WHERE
                            A.idcat     = B.idcat AND
                            B.idcat     = C.idcat AND
                            C.idlang    = '".$lang."' AND
                            B.idclient  = '".$client."' AND
                            C.visible   = 1 AND
                            A.level     = '0'
                        ORDER BY
                            A.idtree";

                $db->query($sql);

                while ( $db->next_record() ) {

                    if ( "CMS_VALUE[0]" == $db->f("idcat") ) {
                        echo '<option selected="selected" value="'.$db->f("idcat").'">'.$db->f("name").'</option>';

                    } else {
                        echo '<option value="'.$db->f("idcat").'">'.$db->f("name").'</option>';

                    }
                }

            ?>
            </select>
        </td>
    </tr>

</table>
<?php
Das OUTPUT:

Code: Alles auswählen

$hauptkategorie = "CMS_VALUE[0]";

$navitems = array();

function nav_feld ($cat) {
global $client, $lang, $cfg, $idcat;

        if (!is_object($db)) {
            $db = new DB_Contenido;
        } 
        $sql = "SELECT
                     A.idcat,
                     B.parentid, 
                     C.name
                   FROM
                     ".$cfg["tab"]["cat_tree"]." AS A,
                     ".$cfg["tab"]["cat"]." AS B,
                     ".$cfg["tab"]["cat_lang"]." AS C
                   WHERE
                     A.idcat     = B.idcat   AND
                     B.idcat     = C.idcat   AND
                     B.idclient  = '$client' AND
                     C.idlang    = '$lang'   AND
                     C.visible   = '1'       AND
                     B.parentid  = '$cat'
                  ORDER BY
                     A.idtree";

         $db->query($sql);

         while ( $db->next_record() ) {
            $aktiv = "";
            $sub_feld = nav_feld($db->f("idcat"));
            if ($db->f("idcat") == $idcat) $aktiv = "active";
            elseif ($sub_feld["activepath"]) $aktiv = "activepath";
            $nav_feld[] = array("idcat"      => $db->f("idcat"),
                                "name"       => $db->f("name"),
                                "active"     => $aktiv,
                                "sub"        => $sub_feld);
            if ($aktiv != "") $activepath = $aktiv;
         }
         $rv = array("feld"          => $nav_feld,
                     "activepath"    => $activepath);
         return $rv;
}

function liste ($array, $indent = "  ")
{
global $first;

       if (is_array($array["feld"])) {
         if ($first) {
           echo $indent . "<ul id=\"nav\">\n";
           $first = 0;
         }
         else echo $indent . "<ul>\n";
         foreach ($array["feld"] as $menupunkt) {
           if ($menupunkt["active"] == "active") echo $indent . $indent . "<li id=\"active\">\n";
           elseif ($menupunkt["active"] == "activepath") echo $indent . $indent . "<li class=\"activepath\">\n";
           else echo $indent . $indent . "<li>\n";
           if (is_array($menupunkt["sub"]["feld"])) {
             echo $indent . $indent . $indent . "<a class=\"daddy\" href=\"front_content.php?idcat=" . $menupunkt["idcat"] . "\">" . $menupunkt["name"] . "</a>\n";
             liste($menupunkt["sub"], $indent."    ");
           }
           else echo $indent . $indent . $indent . "<a href=\"front_content.php?idcat=" . $menupunkt["idcat"] . "\">" . $menupunkt["name"] . "</a>\n";
           echo $indent . $indent . "</li>\n";
         }
         echo $indent . "</ul>\n";
       }
}

/* Create Navigation Array */
$navitems = nav_feld($hauptkategorie);

$first = 1;

liste($navitems);



?>
Den Css-Code:

Code: Alles auswählen

/* ###################################################### */
/* ####################### NAVIGATION ################### */
/* ###################################################### */


#vpnavigation, #vpnavigation ul { /* alle Listen */
   padding: 0;
   margin: 0;
   list-style: none;
   line-height: 1;
}

#vpnavigation a {
   display: block;
   width: 10em;
}

#vpnavigation li { /* alle Listenelemente */
   float: left;
   width: 10em;
}

#vpnavigation li ul { /* Listen 2. Ebene */
   position: absolute;
   background: orange;
   width: 10em;
   left: -999em; /* durch "left" außerhalb des sichtbaren Bereichs wird das gleiche erreicht wie durch "display: none", kann aber auch von Textbrowser angezeigt werden */
}

#vpnavigation li li {
   position: relative;
}

#vpnavigation li li a.daddy { /* Listenelemente mit Unterpunkten */
   background: url(../images/rightarrow.gif) center right no-repeat;
}

#vpnavigation li ul ul { /* Listen 3. Ebene und weiter */
   margin: -1em 0 0 10em;
}

#vpnavigation li:hover ul ul, #vpnavigation li.sfhover ul ul {
   left: -999em;
}

#vpnavigation li:hover ul, #vpnavigation li li:hover ul, #vpnavigation li.sfhover ul, #vpnavigation li li.sfhover ul { /* Listen, die unterhalb von "gehoverten" Menüpunkte liegen */
   left: auto;
}

#vpnavigation li#active { /* Listen zur aktuellen Kategorie */
   font-style: italic!important;
}




P.s. Die Kategorien (und Artikel) der Hauptnavigation laufen über das Template "Standart" (und es ist der Baum:"Hauptnavigation" in der Konfiguration eingetragen Screen1)
Dateianhänge
bbb.PNG
bbb.PNG (47.13 KiB) 5988 mal betrachtet
\"Verfallen wir nicht in den Fehler, bei jedem Andersmeinenden entweder an seinem Verstand oder an seinem guten Willen zu zweifeln."\ Otto Fürst von Bismarck
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Wie füge ich meine eigene Navigation in den Styleditor e

Beitrag von Halchteranerin »

Ich bitte dich, nicht für jedes deiner Navigationsprobleme ein neues Thema zu öffnen sondern beim ursprünglichen Thread zu bleiben. Ich habe schon mal erwähnt, dass ich die Beiträge zusammengeführt habe, und ich möchte nicht ständig hinter dir "aufräumen". Nicht alle Leute lesen alle Beiträge und wissen, dass du viele verschiedene Threads zum selben Thema eröffnet hast, und die Probleme können durchaus miteinander zu tun haben!
Vielen Dank!
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Navigation (kleines Problem)

Beitrag von Spider IT »

Es handelt sich nichtmal um "Probleme, die miteinander zu tun haben", sondern um das gleiche Problem.
darkjumper hat geschrieben:Ich habe schon Tipps von Spider IT bekommen, doch leider haben sie nichts gebracht.
Dabei hat er ein paar Beiträge zurück geschrieben:
darkjumper hat geschrieben:Gut hat funktioniert.
Seine letzte Rückmeldung im "alten" (diesen) Thread lautete dann (23.02.2012):
darkjumper hat geschrieben:Wenn es doch nicht tun sollte, melde ich mich heute Abend oder morgen nochmal
Eine solche Rückmeldung kam nicht mehr, also soll es wohl doch richtig gewesen sein.
Dann aber am 30.03.2012 ein neuer Thread mit genau dem gleichen Problem.

Ich wollte hier nur mal verdeutlichen, dass dieser Mensch die gebotene Hilfe anscheinend nicht richtig umsetzt, um dann noch einen weiteren Thread zum gleichen Thema zu eröffnen.
Aber, auch wenn ich nicht gläubig bin, möchte ich hier Jesus zitieren: "Vater, vergib ihnen, denn sie wissen nicht was sie tun".

Gruß
René
darkjumper
Beiträge: 26
Registriert: Mi 29. Feb 2012, 20:35
Kontaktdaten:

Wie bekomme ich die blauen Striche weg?

Beitrag von darkjumper »

1. Tut mir leid, dass ich immer ein neues Thread erstellt habe

2. Wie komme ich die blauen Striche oben und unten vom namen weg?

(screenshot)
Dateianhänge
1.PNG
1.PNG (1.92 KiB) 5954 mal betrachtet
\"Verfallen wir nicht in den Fehler, bei jedem Andersmeinenden entweder an seinem Verstand oder an seinem guten Willen zu zweifeln."\ Otto Fürst von Bismarck
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Wie füge ich meine eigene Navigation in den Styleditor e

Beitrag von Spider IT »

Die sind im Stylesheet definiert, bei a:hover, da muss irgendwas mit text-decoration: stehen.

Gruß
René
darkjumper
Beiträge: 26
Registriert: Mi 29. Feb 2012, 20:35
Kontaktdaten:

->

Beitrag von darkjumper »

hay René

korrigiere mich bitte, wenn ich mich irre, aber ich finde keine Text-Decoration.

Code: Alles auswählen

#vpnavigation, #vpnavigation ul { /* alle Listen */
   padding: 0;
   margin: 0,5;
    background: orange;
   list-style: none;
   line-height: 3;
   
}

#vpnavigation a {
   display: block;
   width: 8em;
   
}

#vpnavigation li { /* alle Listenelemente */ /*Einzelner Button*/
   float: left;
   width:100px;
   text-align: center;
}



#vpnavigation li li {
   position: relative;
}



#vpnavigation li:hover ul ul, #vpnavigation li.sfhover ul ul {
   left: -999em;
}

#vpnavigation li:hover ul, #vpnavigation li li:hover ul, #vpnavigation li.sfhover ul, #vpnavigation li li.sfhover ul { /* Listen, die unterhalb von "gehoverten" Menüpunkte liegen */
   left: auto;
}

#vpnavigation li#active { /* Listen zur aktuellen Kategorie */
   font-style: italic!important;
}
P.s. das Horizontale hat doch geklappt (in code wurde nicht geschlossen oder irgendetwas einfaches^^)
\"Verfallen wir nicht in den Fehler, bei jedem Andersmeinenden entweder an seinem Verstand oder an seinem guten Willen zu zweifeln."\ Otto Fürst von Bismarck
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Wie füge ich meine eigene Navigation in den Styleditor e

Beitrag von Spider IT »

In dem Stylesheet nicht, aber es kann überall ein Style für a:hover definiert sein.
Du kannst es aber auch explizit für die Navi ausschalten, indem du

Code: Alles auswählen

#vpnavigation a:hover {
    text-decoration: none;
}
einfügst.

Gruß
René
darkjumper
Beiträge: 26
Registriert: Mi 29. Feb 2012, 20:35
Kontaktdaten:

Re: Wie füge ich meine eigene Navigation in den Styleditor e

Beitrag von darkjumper »

Danke.

Hab das Problem auch anders lösen könnten ;)

Jetzt habe ich aber doch noch eine Kleinigkeit, die ich gern wissen würde.

Wenn man über die Menupunkt der Navigation geht, werden sie anders farbig hinterlegt.

Code: Alles auswählen

#vpnavigation a:hover { 
    text-decoration: none;
    color: yellow; 
    background: #00CCFF; 
}
Wie kann ich einstellen, dass, wenn ich z.b. auf "Home" gehe, "Home" farbig hinterlegt bleibt?
\"Verfallen wir nicht in den Fehler, bei jedem Andersmeinenden entweder an seinem Verstand oder an seinem guten Willen zu zweifeln."\ Otto Fürst von Bismarck
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Wie füge ich meine eigene Navigation in den Styleditor e

Beitrag von Spider IT »

Dafür musst du im Modul prüfen, ob die idcat des Navigationspunkts der gerade ausgegeben wird == $idcat und dann (wenn ja) den Link eine Klasse mitgeben (z.B. class="active").
Dann kannst du diese Klasse im Stylesheet separat formatieren.

Gruß
René
darkjumper
Beiträge: 26
Registriert: Mi 29. Feb 2012, 20:35
Kontaktdaten:

Re: Wie füge ich meine eigene Navigation in den Styleditor e

Beitrag von darkjumper »

okay danke,

dass ist mein aktuelles output (beispiel von contenido).

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>
*
* {@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();

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', 3);

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/navigation_standard.html');
    }
} else {
    echo '<p>Navigation not configured correctly.</p>';
}
?>

Ich hab mal mitbekommen, dass man das aber auch nur über css machen könnte...

Über Module weiß ich schon...

Vielen Dank trotzdem René
\"Verfallen wir nicht in den Fehler, bei jedem Andersmeinenden entweder an seinem Verstand oder an seinem guten Willen zu zweifeln."\ Otto Fürst von Bismarck
darkjumper
Beiträge: 26
Registriert: Mi 29. Feb 2012, 20:35
Kontaktdaten:

Re: Wie füge ich meine eigene Navigation in den Styleditor e

Beitrag von darkjumper »

schaust du dir bitte das Modul an?

Ich zwar im Internet viele Anleitungen gefunden, doch keine hat funktioniert.

Kannst du mir weiterhelfen?

was muss ich tun?
\"Verfallen wir nicht in den Fehler, bei jedem Andersmeinenden entweder an seinem Verstand oder an seinem guten Willen zu zweifeln."\ Otto Fürst von Bismarck
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Wie füge ich meine eigene Navigation in den Styleditor e

Beitrag von Spider IT »

Schau dir erstmal den Output genau an, da könnte schon was drin sein.
Im Modul (den Code den du gepostet hast) ist diese Zeile:

Code: Alles auswählen

Contenido_NavMain_Util::loopCats($oSubCategory, $oFeNav, $tpl, $cfg, $lang, $aLevelInfo, intval($idcat), $aDepthInfo);
Da wird bereits die idcat als Integer übergeben (intval($idcat)).
Das muss ein Grund haben, wahrscheinlich um das aktive Navigationselement zu kennzeichnen.

Gruß
René
darkjumper
Beiträge: 26
Registriert: Mi 29. Feb 2012, 20:35
Kontaktdaten:

Re: Wie füge ich meine eigene Navigation in den Styleditor e

Beitrag von darkjumper »

erstmal danke für deine schnelle Antwort,
dennoch weiß ich nicht, was ich mit dieser Antwort anfangen soll.

Wenn bereits die idcat als Integer übergeben (intval($idcat)) wird, muss ich da ja nichts mehr ändern ?!

Was muss ich css noch ädern?

_Tim
\"Verfallen wir nicht in den Fehler, bei jedem Andersmeinenden entweder an seinem Verstand oder an seinem guten Willen zu zweifeln."\ Otto Fürst von Bismarck
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Wie füge ich meine eigene Navigation in den Styleditor e

Beitrag von Spider IT »

Hast du dir den Output angeschaut? (HTML der Seite)
Wenn da schon eine Klasse für den aktiven Eintrag definiert ist (z.B. class="active"), dann musst du nur noch diese Klasse im Stylesheet definieren.

Ich habe keine Lust, ein Contenido mit Demomandant zu installieren, nur um dir sagen zu können, ob eine derartige Ausgabe erfolgt.

Gruß
René
darkjumper
Beiträge: 26
Registriert: Mi 29. Feb 2012, 20:35
Kontaktdaten:

Re: Wie füge ich meine eigene Navigation in den Styleditor e

Beitrag von darkjumper »

haha kann ich verstehen :)

ne class == active ist noch noicht vorhanden, dass muss ich also nachholen


So steht es bei mir drin

Code: Alles auswählen

 <div id="vpnavigation">
                  <container id="30" name="Navigation_Main" types="Navigation" mode="fixed" default="Navigation_Main">Navigation_Main</container><br />
               </div>
Wie bringe ich da jetzt class == aktive rein?

Gruß _Tim
\"Verfallen wir nicht in den Fehler, bei jedem Andersmeinenden entweder an seinem Verstand oder an seinem guten Willen zu zweifeln."\ Otto Fürst von Bismarck
Gesperrt