Seite 1 von 2

geteilte Hauptnavigation 4.6.23 (Splitted Navigation)

Verfasst: Mo 12. Nov 2007, 16:24
von Contenider
Hallo Zusammen

Ich habe gerade die geteilte Hauptnavigation 4.6.2 BETA von OSI, siehe http://contenido.org/forum/viewtopic.ph ... navigation an die aktuelle Version der Hauptnavigation aus der 4.6.23 angepasst.

Das Modul habe ich eben getestet, bei mir läuft es.

Wenn OSI nicht herumschimpft, dann werde ich mein bestes geben und zu diesem Modul soweit ich kann Support leisten.

Vorteile:

- Schnelle Umsetzung
- Funktioniert mit ModRewrite
- Leichte Anpassungsmöglichkeit mit CSS
- Verwendung der bestehenden Templates

Features:

- 1. Ebene immer normal anzeigen
- 2. - 5. Ebene an anderer Stelle in anderen Container

Wichtig:

Es muss auch in dieser Version der Aufruf der Module beachtet werden; Wenn Modul "B" vor Modul "A" aufgerufen wird, gibt's Fehlermeldungen...

Diese Navigation besteht aus zwei Modulen:

Module:

Hauptnavigation Cat 1

INPUT

Code: Alles auswählen

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

#Select tree
?>
<table cellspacing="0" cellpadding="0" cellpadding="4">
  <tr>
    <td class="text"><?php echo mi18n("Baum wählen"); ?>:</td>
      <td>
        <select name="CMS_VAR[0]">
        <option value="0">-- <?php echo mi18n("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
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
* Modified    :     12.11.2007 - Maron Chatzifrantzis, angepasst auf
*                   Basis von OSI's "geteilte Navigation 4.6.2 BETA"
************************************************************************/

#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[0]";
if ($start_cat=='') {
    $cApiClient = new cApiClient($client);
	$start_cat = $cApiClient->getProperty('navigation','idcat_homepage');
}

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
 */
if (!function_exists("catIsChildOf")) {
function catIsChildOf($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($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 = array();


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

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

        global $navitems, $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 = 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[$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;
        $navitems = $tmp_nav;

        /* Function call */
        nav($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[$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');
}

nav($sel_idcat);

/* Start Output buffer */
ob_start();

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

 /* 1. Navigation level */
 if( checkCatPermission($data['idcatlang'],$data['public']) ) {
 	$tpl->reset();
  $tpl->set('d', 'NAME',  $data['name']);
  $tpl->set('d', 'UL_STAGE', '2');
  $tpl->set('d', 'LI_STAGE', '1');
  $tpl->set('d', 'TARGET', $data['target']);
  $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
  $tpl->next();
  if( $idcat == $data['idcat'] && empty($data['sub']) ) {
  	$tpl->generate('templates/mnavi_on.html', 0, 0);
  } elseif( $idcat == $data['idcat'] && !empty($data['sub']) ) {
  	$tpl->generate('templates/mnavi_on_open.html', 0, 0);
  } elseif( $idcat != $data['idcat'] && !empty($data['sub']) && catIsChildOf($sel_idcat, $data['idcat']) ) {
  	$tpl->generate('templates/mnavi_off_open.html', 0, 0);
  } else {
  	$tpl->generate('templates/mnavi_off.html', 0, 0);
  $second_subdata = $data['sub'];
  }
 } // end if
} // end foreach

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

/* Clean buffer */
ob_end_clean();

/* Output buffer-contents */

echo "  <div id=\"mnavi\">
   <ul class=\"e1\">
".$html."
   </ul>
  </div>\n";

?>
Hauptnavigation Cat 2-5

INPUT

Code: Alles auswählen

Steht nix drinnen... ;)
OUTPUT

Code: Alles auswählen

<?php

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

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


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

$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[$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');
}

nav($sel_idcat);

/* Start Output buffer */
ob_start();

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

   if (checkCatPermission($data['idcatlang'],$data['public'])) {







  /* 2. Navigation level */
  if( is_array($data['sub']) ) {
   foreach( $data['sub'] as $key => $data ) {
    if( checkCatPermission($data['idcatlang'],$data['public']) ) {
     $tpl->reset();
     $tpl->set('d', 'NAME',  $data['name']);
     $tpl->set('d', 'UL_STAGE', '3');
     $tpl->set('d', 'LI_STAGE', '2');
     $tpl->set('d', 'TARGET', $data['target']);
     $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
     $tpl->next();
     if( $idcat == $data['idcat'] && empty($data['sub']) ) {               
     	$tpl->generate('templates/mnavi_on.html', 0, 0);                     # AKTIVER PUNKT HAT KEINE SUBCATS
     } elseif( $idcat == $data['idcat'] && !empty($data['sub']) ) {
     	$tpl->generate('templates/mnavi_on_open.html', 0, 0);                # AKTIVER PUNKT HAT SUBCATS
    	} elseif( $idcat != $data['idcat'] && is_array($data['sub']) && catIsChildOf($sel_idcat, $data['idcat']) ) {
    		$tpl->generate('templates/mnavi_off_open.html', 0, 0);               # PASSIVER PUNKT HAT SUBCATS
   		} else {
   			$tpl->generate('templates/mnavi_off.html', 0, 0);                    # PASSIVER PUNKT HAT KEINE SUBCATS
  			}

  			if( is_array( $second_subdata ) ) {
  				$last_cat = end( $second_subdata );
  			 if( $data['idcat'] == $last_cat['idcat'] ) {
  			 	$tpl->generate('templates/mnavi_end.html', 0, 0);
  			 } // end if
  			} // end if
  			$third_subdata = $data['sub'];

     /* 3. Navigation level */
     if( is_array($data['sub']) ) {
      foreach( $data['sub'] as $key => $data ) {
      	if( checkCatPermission($data['idcatlang'],$data['public']) ) {
        $tpl->reset();
        $tpl->set('d', 'NAME',  $data['name']);
        $tpl->set('d', 'UL_STAGE', '4');
        $tpl->set('d', 'LI_STAGE', '3');
        $tpl->set('d', 'TARGET', $data['target']);
        $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
        $tpl->next();
        if( $idcat == $data['idcat'] && empty($data['sub'])) {
        	$tpl->generate('templates/mnavi_on.html', 0, 0);
       	} elseif( $idcat == $data['idcat'] && !empty($data['sub']) ) {
       		$tpl->generate('templates/mnavi_on_open.html', 0, 0);
      		} elseif( $idcat != $data['idcat'] && is_array($data['sub']) && catIsChildOf($sel_idcat, $data['idcat']) ) {
      			$tpl->generate('templates/mnavi_off_open.html', 0, 0);
     			} else {
     				$tpl->generate('templates/mnavi_off.html', 0, 0);
    				}

    				if( is_array($third_subdata) ) {
    					$last_cat = end( $third_subdata );
    					if( $data['idcat'] == $last_cat['idcat'] ) {
    						$tpl->generate('templates/mnavi_end.html', 0, 0);
    				 } // end if
    				} // end if
    				$forth_subdata = $data['sub'];

        /* 4. Navigation level */
        if( is_array($data['sub']) ) {
         foreach( $data['sub'] as $key => $data) {
          if( checkCatPermission($data['idcatlang'],$data['public']) ) {
           $tpl->reset();
           $tpl->set('d', 'NAME',  $data['name']);
           $tpl->set('d', 'UL_STAGE', '5');
           $tpl->set('d', 'LI_STAGE', '4');
           $tpl->set('d', 'TARGET', $data['target']);
           $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
           $tpl->next();
           if( $idcat == $data['idcat'] && empty($data['sub']) ) {
           	$tpl->generate('templates/mnavi_on.html', 0, 0);
           } elseif( $idcat == $data['idcat'] && !empty($data['sub']) ) {
           	$tpl->generate('templates/mnavi_on_open.html', 0, 0);
           } elseif( $idcat != $data['idcat'] && is_array($data['sub']) && catIsChildOf($sel_idcat, $data['idcat']) ) {
           	$tpl->generate('templates/mnavi_off_open.html', 0, 0);
           } else {
           	$tpl->generate('templates/mnavi_off.html', 0, 0);
           }

           if( is_array($forth_subdata) ) {
           	$last_cat = end( $forth_subdata );
            if( $data['idcat'] == $last_cat['idcat'] ) {
            	$tpl->generate('templates/mnavi_end.html', 0, 0);
            } // end if
           } // end if
           $fith_subdata = $data['sub'];

           /* 5. Navigation level */
           if( is_array($data['sub']) ) {
           	foreach( $data['sub'] as $key => $data ) {
             if( checkCatPermission($data['idcatlang'],$data['public']) ) {
              $tpl->reset();
              $tpl->set('d', 'NAME', $data['name']);
              $tpl->set('d', 'UL_STAGE', '6');
              $tpl->set('d', 'LI_STAGE', '5');
              $tpl->set('d', 'TARGET', $data['target']);
              $tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
              $tpl->next();
              if( $idcat == $data['idcat'] && empty($data['sub']) ) {
              	$tpl->generate('templates/mnavi_on.html', 0, 0);
              } else {
              	$tpl->generate('templates/mnavi_off.html', 0, 0);
              }

              if( is_array($fith_subdata) ) {
              	$last_cat = end($fith_subdata);
              	if( $data['idcat'] == $last_cat['idcat'] ) {
              		$tpl->generate('templates/mnavi_end.html', 0, 0);
              	} // end if
              } // end if

             } // 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 "  <div id=\"mnavi\">
   <ul class=\"e1\">
".$html."
   </ul>
  </div>\n";

?>

Ja - es läuft...

Verfasst: Do 13. Dez 2007, 12:53
von blau1
Habe es gerade eingebaut - läuft wie gewohnt...

Vielen Dank

Verfasst: Do 13. Dez 2007, 22:12
von Matz82
Hi ho ...

wo stelle ich denn die "Ladereihenfolge" ein? :shock:

Hab soweit alles eingebaut an modulen und in-Output.
Bekomme aber die besagte Fehlermeldung

Verfasst: Do 13. Dez 2007, 22:17
von Contenider
Wichtig ist dass Du das Modul "Hauptnavigation Cat 1" vor dem Modul "Hauptnavigation Cat 2-5" in einem Container im Layout definierst, also zuordnest. Dann kommt es nicht zu der Fehlermeldung.

Dies tust Du unter Style -> Templates -> Template Auswählen (z.B. Standard)

Beispiel (richtig):

<container id="10" default="Hauptnavigation Cat 1">
<container id="20" default="Hauptnavigation Cat 2-5">

Beispiel (falsch):

<container id="10" default="Hauptnavigation Cat 2-5">
<container id="20" default="Hauptnavigation Cat 1">


Wenn Du es aufgrund Deines Layouts in der "verkehrten" Reihenfolge in dem Template konfiguriert hast, müsstest Du unter Umständen das Template noch einmal überarbeiten.

Verfasst: Mi 13. Feb 2008, 19:17
von derSteffen
Hallo,

ich habe mal eine ungewöhnliche Frage! Was müßte ich denn machen, wenn ich die geteilte Navigation als zusammenhängende Navigation nutzen möchte? Das also Ebene 2 direkt unter Ebene 1 kommt?

Zum Beispiel:
-- Ebene 1
-- Ebene 1
-- Ebene 1
----- Ebene 2
----- Ebene 2
--------- Ebene 3
-- Ebene 1
-- Ebene 1

Wenn ich jetzt den Container mit der zweiten Ebene direkt unter der ersten Ebene packe, erhalte ich folgendes Ergebniss:
-- Ebene 1
-- Ebene 1
-- Ebene 1
----- Ebene 2
----- Ebene 2
----- Ebene 2

Danke Euch

PS: Ein Wechsel zu einer anderen ist nicht geplant!

MfG Steffen

Verfasst: Mi 13. Feb 2008, 19:30
von wosch
derSteffen hat geschrieben:Was müßte ich denn machen, wenn ich die geteilte Navigation als zusammenhängende Navigation nutzen möchte?
Das geht nicht.
Das was du möchtest macht GENAU die "normale" Navi.
Nimm die, dann hast du das was du möchtest.

Wenn du die Navi nicht wechseln willst -> dann bleibt dir nichts anderes über als
1. dich entweder von deinem Wunschvorstellungen zu trennen
oder
2. Geld dafür zu bezahlen das man einen "Lexus" rückbaut in eine "Carina" :wink:

Verfasst: Mi 13. Feb 2008, 19:48
von derSteffen
Verdammt!!!!

Ich weiß die Frage ist doof, aber ich kann ja mal kurz erklären warum ich frage:

Ich habe ein Template, mit speziellen Modulen, welche ich erweitert habe. Es ist so das ein Modul meistens mehrere Output-Versionen hat. Es überprüft die die "idcat" und wenn der Artikel die Idcat hat oder ein childElement ist, dann wird der dazugehörige Output ausgegeben.
In der einen Version gibt es keine Ebene1 (diese Links werden mit der "Hilfsnavigation" eingeblendet) aber eine Ebene2!!!
In der anderen Version gibt es dann aber eine Ebene1 und dann beim durchklicken eine Ebene2. Wie gesagt, ich wollte das alles mit Hilfe eines Templates regeln.

:-( schnief

Verfasst: Mi 13. Feb 2008, 19:57
von wosch
derSteffen hat geschrieben:In der einen Version gibt es keine Ebene1 (diese Links werden mit der "Hilfsnavigation" eingeblendet) aber eine Ebene2!!!
Das müßte sich aber mit der Hauptnavi auch realisieren lassen.
Spiel mal mit Menü hat kein Startartikel und Weiterleitung in der Hilfsnavi
Ohne Gewähr, aber das würde mich zum Spielen bis es geht rausfordern :lol:

Verfasst: Mi 13. Feb 2008, 21:20
von derSteffen
Hallo wosch,

ich habe es jetzt hinbekommen!

Der Tipp mit der Standard-Hauptnavigation hat es gebracht. Mir war gar nicht so richtig bewußt, dass die geteilte Navi daraus entstand.

Also habe ich jetzt so gemacht, dass in den Artikeln der definierten Cats (bzw. auch Catchild) einmal die normale Hauptnavi geladen wird und in den anderen Artikeln die zweite Ebene der geteilten Navigation.

Danke für den Gedankenanstoß.

MfG Steffen

Verfasst: Do 27. Mär 2008, 11:02
von zoot
hallo ihr,

ich verwende das Modul auf mehreren Seiten und es klappt sehr gut, jetzt wollt ich es auf einer zweisprachigen Seite einbauen und bekomme im englisch Teil immer Fehler, mit der Standard Navigation klappt alles.
Jetzt meine frage, ist das Modul überhaupt dafür ausgelegt in zweisprachigen Seiten eingesetzt zu werden?

Gruß david

Verfasst: Do 27. Mär 2008, 14:32
von zoot
problem gelöst,

das Modul kann man zweisprachig einsetzten, ich musste nur

Code: Alles auswählen

$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat'].'&idart='.$data['idart']));
durch

Code: Alles auswählen

$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat'].'&lang='.$lang));
ersetzen

Verfasst: Do 10. Apr 2008, 16:35
von GaMbIt_
Hi Contenider...

Ich komm grad nicht so richtig drauf wie ich die Navigationlevel 2-5 gleichzeitig anzeigen lassen kann... natürlich in Abhängigkeit zur gewählten Hauptnavi...

Irgendwie steh ich da aufm Schlauch...

Verfasst: Do 10. Apr 2008, 19:28
von wosch
GaMbIt_ hat geschrieben:Ich komm grad nicht so richtig drauf wie ich die Navigationlevel 2-5 gleichzeitig anzeigen lassen kann... natürlich in Abhängigkeit zur gewählten Hauptnavi...

Irgendwie steh ich da aufm Schlauch...
Les dir mal den Original-Beitrag durch:
http://contenido.org/forum/viewtopic.php?t=10487

Es ist eigentlich recht simpel. Erst Navi1, dann Navi2-5 (angezeigt wird automatisch)
hat bei mir, in der Original-Version, auf anhieb geklappt, Ebene 1 oben horinzontal - Ebene2-5 links vertikal.

Verfasst: Do 10. Apr 2008, 22:54
von GaMbIt_
Ok... Klarer Fall von Missverständnis... und ich hab jetzt den gesamten Thread nochmal durchgelesen...

Navi Teil 1 zeigt die Hauptkategorien an...

Navi Teil 2 Zeigt die weiteren Ebenen an... das ist ganz klar..
Ich hätte aber gerne dass alle Level angezeigt werden... gleichzeitig...

Nicht nur die unterhalb des aktiven Navelements...

Ich hab jetzt behelfsmässig eine Sitemap umgebaut, da kann ich aber schlecht die aktiven Blöcke definieren...

Verfasst: Di 15. Apr 2008, 15:41
von lenanova
Navigation wird in Cat 1 und Cat 2-5 angezeigt.

Suche noch eine Lösung für folgende "Probleme":

1. Wenn ich in der Cat 1 eine Kategorien mit Unterkategorie anklicke, dann wird der unter diesem Punkt befindliche Teil der Navigation nach rechts gerückt. Ich hätte es aber lieber, wenn der Baum so stehen bleibt.

2. Die jeweiligen Unterkategorien werden mir angezeit, aber untereinander. Ich hätte sie jedoch gern nebeneinander.

Hat jemand eine Lösung.... 8)