Hauptnavigation splitten v.4.6.2

Gesperrt
effex
Beiträge: 55
Registriert: So 13. Mär 2005, 14:03
Kontaktdaten:

Hauptnavigation splitten v.4.6.2

Beitrag von effex » Fr 4. Nov 2005, 18:38

Hallo zusammen!

Da ich die 1. Ebene der Hauptnavigation horizontal im Kopf und die anderen Ebenen vertikal an der Seite benötige, hatte ich bisher die alte Version der Hauptnaviagtion einfach gesplittet, indem ich diese zweimal im Template aufrief und jeweils die entsprechenden Ebenen unterdrückte. Funktionierte bislang prima!

In der neuen Version ist das nicht mehr möglich. Ich erhalte dann folgende Fehlermeldung an der Stelle, an der ich das Modul ein zweites mal eingebunden habe:
Fatal error: Cannot redeclare catischildof() (previously declared in /www/htdocs/name/cms/front_content.php(770) : eval()'d code:113) in /www/htdocs/name/cms/front_content.php(770) : eval()'d code on line 1277

Kann mir jemand da weiterhelfen?

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Hauptnavigation splitten v.4.6.2

Beitrag von Halchteranerin » Fr 4. Nov 2005, 18:41

effex hat geschrieben:Funktionierte bislang prima!
Ohne, dass du die Variablen und Funktionen umbenannt hast? Wenn ja, dann wuerde ich's damit versuchen (umbenennen).

effex
Beiträge: 55
Registriert: So 13. Mär 2005, 14:03
Kontaktdaten:

Beitrag von effex » Fr 4. Nov 2005, 18:48

Danke für den Tipp, werde es gleich mal versuchen!

effex
Beiträge: 55
Registriert: So 13. Mär 2005, 14:03
Kontaktdaten:

Beitrag von effex » Fr 4. Nov 2005, 19:35

@ Halchteranerin: Habe mal alles geändert wie bisher (auch zu mehrmaligen Verwendung geignet). Leider wird jetzt gar nichts mehr angezeigt?!?

Hier mal der geänderte OUTPUT:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Hauptnavigation
* Author(s)   :     Jan Lengowski, Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     12.08.2005
************************************************/

#System properties in use:
#Type: navigation, Name: idcat_homepage
#Contains idcat of tree to be displayed in main navigation

#Includes
cInclude("frontend", "includes/functions.navigation.php");

#If no tree is selected, use client setting
$start_cat = "CMS_VALUE[1000]";
if ($start_cat=='') {
    $cApiClient = new cApiClient($client);
	$start_cat = $cApiClient->getProperty('navigation','idcat_homepage_mod1');
}

if ( !is_object($db2) ) {
    $db2 = new DB_Contenido;
}

/**
 * Check if a category is child
 * of another category
 *
 * @return boolean true/false
 * @author Jan Lengowski <Jan.Lengowski@4fb.de>
 * @copyright four for business AG 2003
 */
function catIsChildOf_mod1($id, $idparent) {

    global $cfg, $client, $lang;

    $db = new DB_Contenido;

    $parent = $id;

    while ( $parent != 0 ) {

        $sql = "SELECT
                    a.parentid
                FROM
                    ".$cfg["tab"]["cat"]." AS a,
                    ".$cfg["tab"]["cat_lang"]." AS b
                WHERE
                    a.idclient  = '".$client."' AND
                    b.idlang    = '".$lang."' AND
                    a.idcat     = b.idcat AND
                    a.idcat   = '".$parent."'";

        $db->query($sql);
        $db->next_record();

        $parent = $db->f("parentid");

        if ($parent == $idparent) {
            return true;
        }

    }

    return false;

}

if ( catIsChildOf_mod1($idcat, $start_cat) ) {
    $sel_idcat = $idcat;
} else {
    $sel_idcat = $start_cat;
}

/* Include Template Class */
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');

/**
 * Array storing alle the
 * navigation data
 */
$navitems_mod1 = array();


/* Template Instance */
$tpl_mod1 = new Template;

/**
 * Recursive function for creating
 * the navigation array
 * @param Int $idcat Category id
 */
function nav_mod1($idcat) {

        global $navitems_mod1, $client, $lang, $cfg, $start_cat;

        $db  = new DB_Contenido;
        $db2 = new DB_Contenido;

        $sql = "SELECT parentid FROM ".$cfg["tab"]["cat"]." WHERE idcat = '$idcat'";

        $db->query($sql);
        $db->next_record();

        $parentid = $db->f("parentid");

        if ( $parentid == 0 ) {

           if ( $idcat != $start_cat ){

                $navitems_mod1 = array();
              
                $sql = "SELECT
                            A.idcat,
                            C.name
				            C.public,
	        			    C.idcatlang
                        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  = '".$start_cat."'
                        ORDER
                            BY A.idtree";

                      $db->query($sql);

                      while ($db->next_record()) {

                            /* Check for external redirects... */
                            $sql = "SELECT
                                        a.external_redirect AS ext,
                                        a.idartlang AS idartlang
                                    FROM
                                        ".$cfg["tab"]["art_lang"]." AS a,
                                        ".$cfg["tab"]["cat_art"]." AS b,
                                        ".$cfg["tab"]["cat"]." AS c
                                    WHERE
                                        b.idcat     = '".$db->f("idcat")."' AND
                                        c.idclient  = '".$client."' AND
                                        c.idcat     = b.idcat AND
                                        a.idart     = b.idart AND
                                        a.idlang    = '".$lang."'";

                            $db2->query($sql);
                            $flag = false;
							while ($db2->next_record()&&!$flag) {
	                            if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
	                            {
									$flag = true;
	                                $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
	
	                                $navitems_mod1[$db->f("idcat")] = array("idcat"      => $db->f("idcat"),
	                                                                    "name"      => $db->f("name"),
	                                                                    "target"    => $target,
						                        	                    "public" => $db->f("public"),
		            					            	                "idcatlang" => $db->f("idcatlang"));
	                            }
							}
                      }

           }
           
           return true;
        }

        $sql = "SELECT
                    A.idcat,
                    C.name,
		            C.public,
       			    C.idcatlang
                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  = '$parentid'
                ORDER BY
                    A.idtree";

        $db->query($sql);

        while ($db->next_record()) {

                /* Check for external redirects... */
                $sql = "SELECT
                            a.external_redirect AS ext,
                            a.idartlang AS idartlang
                        FROM
                            ".$cfg["tab"]["art_lang"]." AS a,
                            ".$cfg["tab"]["cat_art"]." AS b,
                            ".$cfg["tab"]["cat"]." AS c
                        WHERE
                            b.idcat     = '".$db->f("idcat")."' AND
                            c.idclient  = '".$client."' AND
                            c.idcat     = b.idcat AND
                            a.idart     = b.idart AND
                            a.idlang    = '".$lang."'";

                $db2->query($sql);
				$flag = false;
                while ($db2->next_record() && !$flag) {
	                if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
	                {
						$flag = true;
	                    $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
	                    
	                    $tmp_nav[$db->f("idcat")] = array("idcat"   => $db->f("idcat"),
	                                                      "name"    => $db->f("name"),
	   	                        	                      "public" => $db->f("public"),
		            					            	  "idcatlang" => $db->f("idcatlang"),
	                                                      "target"  => $target);
	                }
				}
        }

        $tmp_nav[$idcat]["sub"] = $navitems_mod1;
        $navitems_mod1 = $tmp_nav;

        /* Function call */
        nav_mod1($parentid);

}  // end function

$sql = "SELECT
            A.idcat,
            C.name,
		    C.public,
       		C.idcatlang
        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  = '$sel_idcat'
        ORDER BY
            A.idtree";

$db->query($sql);

while ( $db->next_record() ) {

        /* Check for external redirects... */
        $sql = "SELECT
                    a.external_redirect AS ext,
                    a.idartlang AS idartlang
                FROM
                    ".$cfg["tab"]["art_lang"]." AS a,
                    ".$cfg["tab"]["cat_art"]." AS b,
                    ".$cfg["tab"]["cat"]." AS c
                WHERE
                    b.idcat     = '".$db->f("idcat")."' AND
                    c.idclient  = '".$client."' AND
                    c.idcat     = b.idcat AND
                    a.idart     = b.idart AND
                    a.idlang    = '".$lang."'";

        $db2->query($sql);
        #$db2->next_record();
		$flag = false;
		while ($db2->next_record()&&!$flag) {
	        if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
	        {
				$flag = true;
	            $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
	    
	            $navitems_mod1[$db->f("idcat")] = array("idcat"  => $db->f("idcat"),
	                                               "name"   => $db->f("name"),
	  	                        	               "public" => $db->f("public"),
		            					           "idcatlang" => $db->f("idcatlang"),
	                                               "target" => $target);
	        }
		}
}

/* Create Navigation Array */
if(($sel_idcat=='')||($sel_idcat=='0')){
    $cApiClient = new cApiClient($client);
    $sel_idcat = $cApiClient->getProperty('navigation', 'idcat_homepage_mod1');
}

nav_mod1($sel_idcat);

/* Start Output buffer */
ob_start();

foreach ($navitems_mod1 as $key => $data) {

    /* 1. Navigation level */
	if (checkCatPermission($data['idcatlang'],$data['public'])) {
	    $tpl_mod1->reset();
	    $tpl_mod1->set('d', 'NAME',  $data['name']);
	    $tpl_mod1->set('d', 'TARGET', $data['target']);
	    $tpl_mod1->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));

	    $tpl_mod1->next();
	    if ($idcat == $data['idcat']) {
	        $tpl_mod1->generate('templates/navfirst_on.html');
		}elseif(is_array($data['sub'])){
	        $tpl_mod1->generate('templates/navfirst_open.html');
	    } else {
	        $tpl_mod1->generate('templates/navfirst_off.html');
	    }
	
    	/* 2. Navigation level */
	    if (is_array($data['sub'])) {
	        foreach ($data['sub'] as $key => $data) {
				if (checkCatPermission($data['idcatlang'],$data['public'])) {
		            $tpl_mod1->reset();
		            $tpl_mod1->set('d', 'NAME',  $data['name']);
		            $tpl_mod1->set('d', 'TARGET', $data['target']);
		            $tpl_mod1->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
		            $tpl_mod1->next();
		            if ($idcat == $data['idcat']) {
		                $tpl_mod1->generate('templates/navsecond_on.html');
					}elseif(is_array($data['sub'])){
				        $tpl_mod1->generate('templates/navsecond_open.html');
		            } else {
		                $tpl_mod1->generate('templates/navsecond_off.html');
		            }

				    /* 3. Navigation level */
		            if (is_array($data['sub'])) {
		                foreach ($data['sub'] as $key => $data) {
							if (checkCatPermission($data['idcatlang'],$data['public'])) {
			                    $tpl_mod1->reset();
			                    $tpl_mod1->set('d', 'NAME',  $data['name']);
			                    $tpl_mod1->set('d', 'TARGET', $data['target']);
			                    $tpl_mod1->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
			                    $tpl_mod1->next();
			
			                    if ($idcat == $data['idcat']) {
			                        $tpl_mod1->generate('templates/navthird_on.html');
								}elseif(is_array($data['sub'])){
							        $tpl_mod1->generate('templates/navthird_open.html');
			                    } else {
			                        $tpl_mod1->generate('templates/navthird_off.html');
			                    }

			                    /* 4. Navigation level */
					            if (is_array($data['sub'])) {
					                foreach ($data['sub'] as $key => $data) {
										if (checkCatPermission($data['idcatlang'],$data['public'])) {
						                    $tpl_mod1->reset();
						                    $tpl_mod1->set('d', 'NAME',  $data['name']);
						                    $tpl_mod1->set('d', 'TARGET', $data['target']);
						                    $tpl_mod1->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
						                    $tpl_mod1->next();
						                    if ($idcat == $data['idcat']) {
						                        $tpl_mod1->generate('templates/navfourth_on.html');
											}elseif(is_array($data['sub'])){
										        $tpl_mod1->generate('templates/navfourth_open.html');
						                    } else {
						                        $tpl_mod1->generate('templates/navfourth_off.html');
						                    }

						                    /* 5. Navigation level */
								            if (is_array($data['sub'])) {
								                foreach ($data['sub'] as $key => $data) {
													if (checkCatPermission($data['idcatlang'],$data['public'])) {
									                    $tpl_mod1->reset();
									                    $tpl_mod1->set('d', 'NAME',  $data['name']);
									                    $tpl_mod1->set('d', 'TARGET', $data['target']);
									                    $tpl_mod1->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
									                    $tpl_mod1->next();
									                    if ($idcat == $data['idcat']) {
									                        $tpl_mod1->generate('templates/fifth_on.html');
									                    } else {
									                        $tpl_mod1->generate('templates/navfifth_off.html');
									                    }
										            } // end if
								                } // end foreach
								            } // end if
							            } // end if
					                } // end foreach
					            } // end if
				            } // end if
		                } // end foreach
		            } // end if
	            } // end if
	        } // end foreach
	    } // end if
    } // end if
} // end foreach

/* Read out buffer */
$html = ob_get_contents();

/* Clean buffer */
ob_end_clean();

/* Output buffer-contents */
echo $html;
?>
War doch so gemeint oder?

effex
Beiträge: 55
Registriert: So 13. Mär 2005, 14:03
Kontaktdaten:

Beitrag von effex » Fr 4. Nov 2005, 19:49

Kleiner Nachtrag:

Hatte vergessen die Navigation im Madantenverzeichnis anzulegen! Habe dies nun nachgeholt! Das Problem bleibt aber wie Eingangs beschrieben weiter bestehen.

firstlevel
Beiträge: 159
Registriert: Fr 28. Okt 2005, 12:04
Kontaktdaten:

Beitrag von firstlevel » Sa 5. Nov 2005, 17:09

gibt es von dem menu eine demo bzw. kann man es ggf. in aktion sehen ??
used Contenido --> Firstlevel :: Whip24
weitere Projekte: DailyNet Presseportal :: RSS Verzeichnis :: Social Bookmarks

Salech
Beiträge: 89
Registriert: So 5. Dez 2004, 11:00
Kontaktdaten:

Beitrag von Salech » Mi 9. Nov 2005, 16:43

Hallo ich habe dasselbe Problem wie effex.

Das heißt: Oben Horizontal die 3 Hauptnavigationspunkte (immer sichtbar) und dann links an der Seite die Unternavigationspunkte für den entsprechenden Hauptnavigationspunkt.

Das klappt alles irgendwie noch nicht! Gibt's dafür schon ein Modul?

stony
Beiträge: 360
Registriert: Di 10. Jun 2003, 09:02
Wohnort: Berlin
Kontaktdaten:

Beitrag von stony » Do 10. Nov 2005, 08:57

also ich habe das mit Hilfsnavigation für die Unterpunkte und Hauptnavigation für die Hauptpunkte realsiert. dabei habe ich die Hauptnavigaition gekürzt und auf eine Ebene beschränkt.

stony

roihaddl
Beiträge: 19
Registriert: Sa 9. Okt 2004, 14:28
Wohnort: P(f)alz
Kontaktdaten:

Beitrag von roihaddl » Do 17. Nov 2005, 11:00

Da schwirrt doch noch eine Artikelliste (allerdings für 4.4.4) herum, die alle Artikel einer Kategorie automatisch mit Überschrift auflistet.
Input:

Code: Alles auswählen

/**
* Artikelliste mit I1,H1,T1
*
* Erstellt eine Liste mit allen Artikel bis
* auf den Startartikel.
*
* INPUT
*
* Author Jan Lengowski
* Copyright four for business AG
*/

// selected category
$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr valign=\"top\">
          <td>Kategorie wählen:</td>
          <td>
            <select name=\"CMS_VAR[0]\">";
            if($selected!="0" && $selected!=""){
             echo"<option value=\"0\">--- kein ---</option>";

            }else{
            echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
            }

            // fetch all categorys
            $query = "SELECT A.idcat, A.level, 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 ORDER BY A.idtree";
            // execute query
            $db->query($query);

            // loop result and build the options
            while ($db->next_record()) {

              // indent spacer
              $spaces = "|";

              // how many levels
              $levels = $db->f("level");

              for ($i = 0; $i < $levels; $i ++) {
                // add 2 spaces for every level
                $spaces = $spaces . "--";

              } // end for
              
              $spaces .= ">";


              if ($selected == $db->f("idcat")) {
                // selected category
                echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

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

              } // end if

            } // end while

echo "      </select>";

echo "    </td>
        </tr>
        <tr>
          <td>Überschrift</td>
          <td><input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\"></td>
        </tr>
        <tr>
          <td>Angezeigte Länge in Zeichen</td>
          <td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\"></td>
        </tr>

      </table>";
output:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* REFERENZ MODUL / ARTIKELLISTE
*
* Artikelliste mit Img 1, Head 1, Head 2
*
* Erstellt eine Liste mit allen Artikel bis
* auf den Startartikel.
*
* Author      :     Jan Lengowski
* Copyright   :     four for business AG
* Created     :     15-08-2002
* Modified    :     16-08-2002
************************************************/

// second db class instance
$db2 = new DB_Contenido;

// selected category
$selcat = "CMS_VALUE[0]";

 if($selcat!="0" && $selcat!=""){

// select all articles in category widthout start article
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
          $cfg["tab"]["art_lang"]." AS ARTLANG ".
         "WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ".
         "ARTLANG.online = '1' ";

// execute query
$db->query($query);

unset($articleID);
unset($linkID);

// get id's of sub articles
while ($db->next_record()) {
  $articleID[] = $db->f("idartlang");
  $linkID[] = $db->f("idart");
} // end while

// loop through subarticles
echo'CMS_VALUE[2]';
echo '
<div style="padding-left:5px">';

if (is_array($articleID)) {

    foreach ($articleID as $key => $value) {

          // select all CMS variables of the article
          $sql = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '1'";
          $db->query($sql);
          $db->next_record();
          $head = $db->f("value");

          if ( strlen($head) > "CMS_VALUE[3]") {
            $head = substr($head, 0, "CMS_VALUE[3]");
            $head .= '..';
          }

          // link
          $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s");

          echo '<a style="font-size:10px;color:#cc0000;" href="'.$link.'">'.urldecode($db->f("value")).'</a>&nbsp;|&nbsp;';

    } // end while



          unset($headline);
        unset($text);
        
    } // end foreach
    
} // end if (is_array)

echo '</div><br>';


?>
Vielleicht ist das ja ein Ansatz und funktioniert auch (nach Anpassungen)mit der 4.6er.

Gruß roihaddl

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 17. Nov 2005, 11:32

Das ist das Original-Artikellisten-Modul aus V4.4.x, gewünscht war aber ein Navigationsmodul (ist nicht ganz das Gleiche). Übrigens funktioniert das Modul sogar in V4.6.x - weil es, anders, als im Code angegeben, alle Artikel anzeigt, auch den Startartikel.

Das löst übrigens das Eingangs erwähnte Problem nicht (es umgeht es nur); da müsste man sich noch ein wenig mit dem Code auseinandersetzen - es geht wirklich nur um die Funktionsnamen und Variablenbezeichnungen...

Sorry, nein, ich kann gerade nicht helfen.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Do 17. Nov 2005, 14:38

stony hat geschrieben:also ich habe das mit Hilfsnavigation für die Unterpunkte und Hauptnavigation für die Hauptpunkte realsiert. dabei habe ich die Hauptnavigaition gekürzt und auf eine Ebene beschränkt.

stony
ich habe das ähnlich gemacht:
http://dev1.elflein-kosmetik.de/cont46d ... p?idcat=25

5 Bäume:

Headernavi
NaviStudio
NaviOnlineshop
NaviInfocenter
NaviNews

Das Modul Hauptnavigation habe ich dupliziert, die Variablen und Funktionsnamen angepasst, sonst kommt der klassische 'previously declared ...' Fehler ;) und Voila, Header mit Headeravi und links jeweils nur die dazugehörige Navi* in der Hauptnavigation.

Der Baum Headernavi enthält dabei nur redirects, mit Ausnahme der Home Seite selber. Diese hat dann links eine 'Gesamtnavigation' der ersten Ebenen der 4 Navi* Kategoribäume. Wobei diese 'Gesamtnavigation' auch gefaked ist und im Grunde nur die 4 Hauptnavigationen Navi* eben untereinander anzeigt.

Nachteil dabei, der 'active state' ist in der Headernavigation nicht ordentlich realisierbar, da es ja alles redirects sind ausser Home, da hinter diesem Button kein redirect sondern eben die Home seite selber ist. Dann wird natürlich auch der active state im Header angezeigt (Home in grün). Soll heissen ein Klick auf z.B. Infocenter oder News im Header fürtt auf den dazugehörigen Kategoriebaum. Daher kann die Headernavi nicht active anzeigen, denn die befindet sich ja in einem eigenen Kategoriebaum, der dann eben nicht aktiv ist.

Warum das ganze nicht in einer gesplitteten Hauptnavi, erste Ebene im Header horizontal, die restlichen Ebenen links in der Box vertikal? Das würde zwar den active state im Header aufrecht erhalten, allerdings würde dann die Hauptnavigation links immer auch alle 3 weiteren Hauptkategorien anzeigen, und nicht wie gewollt nur die dazugehörige.
Sprich ich klicke im Header auf Infocenter und sähe dann links nicht nur die NaviInfocenter, sondern auch Studio Onlineshop und News, was ich nicht wollte.

Sollte dies auch einfacher zu realisieren sein dann freue ich mich über Euren Input.
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » Sa 19. Nov 2005, 08:27

grins hatte das problem auch aber es gibt ja noch die suche und die errinerung daran das ich ein modul in der vorgängerversion hatte das dort auch schon zuckte

http://www.christianpfeil.com/index.php ... nido&id=74#

habe es jetzt die halbe nacht getestet ohne fehlermeldung online wie auch local

hoffe das ich nicht wieder eine auf den kopf bekomme weil ich wieder ein älteres modul gefunden habe. lach


greets
greets

peanut
Beiträge: 246
Registriert: Do 25. Nov 2004, 19:34
Kontaktdaten:

Beitrag von peanut » Sa 19. Nov 2005, 13:06

halli hallo

also ich finde das man bei dem grundgedanken bleiben sollte sprich 1 Hauptnavigation bei der man die Ebene X direkt angezeigt bekommt

Warum ?

a. Weil man als dummer User sonst total durcheinander kommt
:motz: und das wollen wir doch alle verhindern oder ?

b. Weil man den Platz lieber für eine eigene Navi brauchen kann 8)

c. Sieht besser aus
du liest nie ein Buch und weisst weise der Bildung auszuweichen ....

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » Sa 19. Nov 2005, 14:53

Das Grundthema
Da ich die 1. Ebene der Hauptnavigation horizontal im Kopf und die anderen Ebenen vertikal an der Seite benötige
So ich denke du hast dich mit dem angegebenen Modul beschäftigt und dieses Modul macht ja rein gar nicht das was "effex" eigentlich wollte die Hauptnavigation teilen. Kopfschüttel

Ok viel spaß damit die Hilfsnavigation für die anderen ebenen zu "verbrauchen "

solong

greets
greets

cmeis
Beiträge: 6
Registriert: Fr 23. Jul 2004, 07:28
Kontaktdaten:

Beitrag von cmeis » Mo 21. Nov 2005, 16:22

Also prinzipiell geht das genauso wie für die 4.4.x - ich habe es gerade für einen Kunden unter der 4.6.2 nachgebaut.

Prinzipiell hast Du - effex - das genauso gemacht:
Modul Hauptnavigation kopieren, in der Kopie die Funktionen catIsChildOf und nav umbenennen (bei Dir: catIsChildOf_mod1, ...).

Ich hatte dann auch ein Problem - ich bin über zwei Sachen gestolpert:

1. Fehlt im 4.6.2-Modul "Hauptnavigation" ein Komma in einen SQL-Statement (siehe mein Post hier).

2. In der 4.6.2 wird der gesamte Navigationsbaum in der Navi auf der Website NICHT ausgegeben, wenn es keinen Startartikel in der "Root-Kategorie" gibt. Das war bei 4.4.x meiner Erinnerung nach anders.
Sobald in der Root-Kategorie bei 4.6.2 ein Startartikel drin ist, erschien bei mir auch die - vorher "abgängige" - Hauptnavigation...

Viele Grüße,
Christian

Gesperrt