Seite 1 von 1

Navigation mit wechselnden Icons

Verfasst: Fr 18. Jan 2008, 14:24
von matt.loker
Hallo Leute,
die Headline sagt wohl alles.
Ich bin auf der Suche nach einer Navigation in der man jedem Menüpunkt eine anderes Icon zuweisen kann. Gibt es da schon etwas?

Zur Zeit brauch ich es in der Standard-Hilfsnavigation aber es wäre allgemein gut zu wissen ob jemand schon so ein Modul erstellt hat.

Wie gesagt brauch ich das gerade bei der Hilfsnavigation.

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Hilfsnavigation
* Author(s)   :     Andreas Lindner
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     05.08.2005
************************************************/

cInclude("frontend", "includes/functions.navigation.php");
cInclude('classes', 'class.template.php');

echo " <div id=\"meta\"><p>";

$catStart = "CMS_VALUE[0]";
if(($catStart=='')||($catStart=='0')){
    $cApiClient = new cApiClient($client);
    $catStart = $cApiClient->getProperty('navigation', 'idcat_hilfsnavi');
}
if(!is_object($oClient)) {
	$oClient = new cApiClient($client);
}

$navigation = array();
$navigation = createNavigationArray($catStart, $db);

if (count($navigation) > 0) { 
	foreach ($navigation as $key => $data) {
		echo '<a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'">'.$data['name'].'</a> | ';
	} 
}

switch($lang){
	case '2':
		//englisch -> deutsch
		echo '<a href="'.$sess->url('front_content.php?changelang=1').'">'.mi18n("Deutsch").'</a>';
		break;
	default:
		//deutsch -> englisch
		echo '<a href="'.$sess->url('front_content.php?changelang=2').'">'.mi18n("English").'</a>';
		break;
}
echo "</p></div>";
?>
Ich habe versucht einen simplen Zähler einzubauen der einfach hochzählt und ich dann CSS alles nötige anpasse.

Code: Alles auswählen

if (count($navigation) > 0) { 
	foreach ($navigation as $key => $data) {
/**** ZÄHLER MARKE EIGENBAU ****/
          for($count_eigenbau = 1; $count_eigenbau < $zahl; $count_eigenbau++)
            {
              $count_eigenbau;
            }
/**** ZÄHLER MARKE EIGENBAU ****/
		echo '<a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" id="subm_'.$count_eigenbau.'">'.$data['name'].'</a> | ';
	} 
}
Der selbstgebaute Zähler zählt nicht hoch. Ich weiß, dass es falsch ist was ich da gemacht habe aber ich weiß nicht wie ich es ändern soll damit er zählt. Könnt ihr mir vielleicht helfen? Das wär suuuuper :).

Verfasst: Sa 19. Jan 2008, 13:23
von casi1969
Hallo,

ich habe das ganz einfach gelöst indem die idcat immer als ID angezeigt wird. Davor kann man beliebige Buchstaben (bei mir "id_") setzen, damit das ganze XMTML-valide ist. Über CSS kann man dann die Icons beliebig zuweisen.

Code: Alles auswählen

<?
include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php");
echo "<ul id=\"hilfsnavi\">\n";/*liste erste ebene***********************************/ 

$catStart = "CMS_VALUE[0]";

if ($catStart != "") {
  $catIds = conDeeperCategoriesArray($catStart);

 
  if ( is_array($catIds) ) {

    foreach($catIds as $key=>$val) {
      // Ersten Eintrag ueberspringen, weil das der Menupunkt selbst ist
      // und nicht angezeigt werden soll.
      if ($key != 0) {

    $sql = "SELECT CAT.idcat AS idcat, name FROM ".
               $cfg["tab"]["cat"]." AS CAT, ".
               $cfg["tab"]["cat_lang"]." AS CATLANG 
               WHERE CAT.idcat = ".$val."
               AND CAT.idcat = CATLANG.idcat
               AND CATLANG.idlang='$lang'
               AND CAT.idclient='$client'";


        $db->query($sql);




        while ( $db->next_record() ) {
         
         echo '        <li>';   
          
if ($db->f("idcat") == $idcat){
   echo "<a class=\"current\"";
}else{
   echo "<a";
}

echo " href=\"front_content.php?idcat=".$db->f("idcat")."\" id=\"id_".$db->f("idcat")."\">".htmldecode($db->f("name"))."</a></li>\n";

       } // end while
      } // if
    }  // end foreach
  } // end if (is_array)

  

}
echo '    </ul>';
?>

Verfasst: Di 22. Jan 2008, 13:14
von matt.loker
Danke es hat geklappt :)