Aktuellen Punkt in horizontaler Hauptnavigation highlighten?

Gesperrt
schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Aktuellen Punkt in horizontaler Hauptnavigation highlighten?

Beitrag von schmitt197 »

Hi,
habe das Modul "Horizontale Navigation" von Skybalder eingebaut und es läuft problemlos. Ich hätte aber gerne noch, dass der jeweils aktuelle Punkt in fett gehighlighted wird. Geht das?

Link zum Code

Danke
Thomas
m20
Beiträge: 44
Registriert: Di 16. Mär 2004, 15:02
Kontaktdaten:

Navigationspunkt fett

Beitrag von m20 »

Hi,

du musst nur einen <b>-Tag in das gewünschte Navigationstemplate einfügen.

Bsp.: navfirst_on.html

Dann erscheint ein Punkt in der ersten Navigationsebene, wenn dieser aktiviert ist, fett.

:D
MfG
M20

ihp media - Agentur für Mediengestaltung
- Webseiten
- Online Shops
- Hosting (auf unseren dedizierten Servern)

http://www.ihp-media.de
http://www.dusyma.de
http://www.myjobs24.de - Job-Auktionen für Alle!
http://www.flirt-affairs.de
http://www.fc-normannia.de
http://www.convertit.de
schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 »

Danke für den Tipp. Bei dem Modul, das ich verwende, werden aber keine Templates verwendet ... Was kann ich dann machen?
m20
Beiträge: 44
Registriert: Di 16. Mär 2004, 15:02
Kontaktdaten:

Beitrag von m20 »

poste das modul mal.
MfG
M20

ihp media - Agentur für Mediengestaltung
- Webseiten
- Online Shops
- Hosting (auf unseren dedizierten Servern)

http://www.ihp-media.de
http://www.dusyma.de
http://www.myjobs24.de - Job-Auktionen für Alle!
http://www.flirt-affairs.de
http://www.fc-normannia.de
http://www.convertit.de
schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 »

Siehe Link in meinem ersten Beitrag zu dieser Frage
schmitt197 hat geschrieben:
Link zum Code
Karin Dähne
Beiträge: 140
Registriert: Fr 20. Feb 2004, 17:48
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von Karin Dähne »

Nenn doch einfach im Quelltext des Ausgabemodules die betreffende

Code: Alles auswählen

[<a class="klein"........
in

Code: Alles auswählen

[<a class="kleinbold".........
um.
Die mußt Du dann natürlich noch in der css-Datei definieren.
(Dann könntest Du Ihr z.B. noch eine andere Farbe geben etc.)


Grüße,
Karin.
schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 »

Hallo Karin,
danke für den Tipp, aber es funktioniert nicht.
Wenn ich dem ersten Link nur diese Klasse gebe, dann ist immer nur der erste Punkt in der Navi fett. Wenn ich dem anderen Link die Klasse gebe, dann sind alle Links fett.

Kann man das nicht irgendwie anders machen?

Danke
Thomas
SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader »

Nimm mal als Output Modul dieses angepasste Modul:

Code: Alles auswählen

<?php 

/*********************************************** 
* OUTPUT 
************************************************/ 

include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php"); 

// **************************************************************************************************** 
// SECURITY-CHECKS 
// **************************************************************************************************** 

// SQL-Injection Überprüfungen und Work-Arounds 

// lokale Variabeln initialisieren um Injections zu unterbinden 
$db2       = ""; 
$catStart    = ""; 
$catPrev   = ""; 
$sTmpStr    = ""; 
$db2_sql    = ""; 
$catIds    = ""; 
$key       = ""; 
$val       = ""; 
$sql       = ""; 

// **************************************************************************************************** 

// erstelle eine zweite DB-Klasseninstanz, da wir hier 
// mit zwei Abfragen udn Resultsets arbeiten müssen 
$db2 = new DB_Contenido; 


// Hole aus der Artikeldefinition die Ausgewählte Navigationsebene 
$catStart = "CMS_VALUE[3100]"; 
$catPrev  = "CMS_VALUE[3101]"; 

// * get catPrec Category and output CatName as [ BackTo ]  nav item 


if ($catStart != "") { 
  $sTmpStr = ""; 

        // Datenbankabfrage ( SQL QUERY ) aufbauen 
        $sql = "SELECT 
              CAT.idcat AS idcat, 
              name 
           FROM 
              ".$cfg["tab"]["cat"]." AS CAT, 
              ".$cfg["tab"]["cat_lang"]." AS CATLANG 
              
                  WHERE    CAT.idcat = ".$catPrev." 
                     AND CAT.idcat = CATLANG.idcat 
                     AND CATLANG.idlang = '$lang' 
                     AND CATLANG.visible = '1'"; 
                      
        // Datenbankabfrage durchführen 
        $db->query($sql); 


        // die einzelnen Recordsets der Datenbankabfrage durchgehen 
        while ( $db->next_record() ) { 
          
                // überprüfung, ob schon ein Eintrag in der Ausgabevariabel ist 
           if ( strlen($sTmpStr) == 0 ) { 
               // ... Nein, dann die Formatierung für den ersten Eintrag verwenden 
               // und den Eintrag der Ausgabevariabel hinzufügen 
               $sTmpStr = $sTmpStr .  '[<a class="klein" href="front_content.php?idcat='.$db->f("idcat").'">Zurück zu '.$db->f("name").'</a>]'; 
           } 
           else 
           { 
               // ... Ja, dann die Formatierung für die weiteren Einträge verwenden und 
               // den Eintrag der Ausgabevariabel hinzufügen 
               $sTmpStr = $sTmpStr .  ' - [<a class="klein" href="front_content.php?idcat='.$db->f("idcat").'">Zurück zu '.$db->f("name").'</a>]';          
           }  // end if 
        } // end while 
                        
   $db2_sql = "   SELECT 
            * 
         FROM ". $cfg["tab"]["cat"] ." AS A 
       
         WHERE 
          
           A.parentid = ". $catStart . " 

                                                ORDER BY A.preid 

                                                 "; 

   // Abfrage ausführen 
   $db2->query($db2_sql); 

     // Ermittlung aller Kategorie IDs der ausgesuchten 
     // Navigationsebene und speicherug in einem Array 
   while ( $db2->next_record() ) { 
             // $catIds[] = $db2->f("idcat"); 
      $test_1[$db2->f("preid")] = $db2->f("idcat"); 
   } 
    
/* 
PREID => IDCAT  ( $test_1 ) 
Array ( 
   [0]    => 50 

   [26]    => 27 
   [27]    => 28 
   [28]    => 29 
   [29]    => 30 
   [30]    => 31 
   [31]    => 32 
   [32]    => 33 
   [33]    => 38 
   [34]    => 35 
   [35]    => 36 
   [36]    => 37 
   [38]    => 34 
   [50]    => 26 
) 
------------------------------------ 
*/ 

// --------------------------------------------- 
// sort ids 
$ar_anz = count($test_1); 
$lpre = 0; 
$test_3 = ""; 
$ires = ""; 

for ( $sli = 1 ; $sli <= $ar_anz ; $sli++ ) 
{ 
   $ires        = $test_1[$lpre];    
   $test_3[]    = $test_1[$lpre];    
   $lpre        = $ires; 
} 


// print_r($test_3); echo '<br><br>'; 
$catIds = $test_3; 
// --------------------------------------------- 

  // Überprüfung ob $catIds wirklich ein Array ist 
  if ( is_array($catIds) ) { 

    // die einzelnen IDs durchgegen 
    foreach($catIds as $key=>$val) { 

        
        // Datenbankabfrage ( SQL QUERY ) aufbauen 
        $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 CATLANG.visible = '1'"; 

        // Datenbankabfrage durchführen 
        $db->query($sql); 


        // die einzelnen Recordsets der Datenbankabfrage durchgehen 
        while ( $db->next_record() ) { 
          

	   if ( $db->f("idcat") == $idcat ) 
	   {	
                // überprüfung, ob schon ein Eintrag in der Ausgabevariabel ist 
           if ( strlen($sTmpStr) == 0 ) { 
               // ... Nein, dann die Formatierung für den ersten Eintrag verwenden 
               // und den Eintrag der Ausgabevariabel hinzufügen 
               $sTmpStr = $sTmpStr .  '[<a class="klein_highl" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>]'; 
           } 
           else 
           { 
               // ... Ja, dann die Formatierung für die weiteren Einträge verwenden und 
               // den Eintrag der Ausgabevariabel hinzufügen 
               $sTmpStr = $sTmpStr .  ' - [<a class="klein_highl" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>]';          
           }  // end if 
	   }
	   else
	   {	
                // überprüfung, ob schon ein Eintrag in der Ausgabevariabel ist 
           if ( strlen($sTmpStr) == 0 ) { 
               // ... Nein, dann die Formatierung für den ersten Eintrag verwenden 
               // und den Eintrag der Ausgabevariabel hinzufügen 
               $sTmpStr = $sTmpStr .  '[<a class="klein" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>]'; 
           } 
           else 
           { 
               // ... Ja, dann die Formatierung für die weiteren Einträge verwenden und 
               // den Eintrag der Ausgabevariabel hinzufügen 
               $sTmpStr = $sTmpStr .  ' - [<a class="klein" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>]';          
           }  // end if 
	   }  
        } // end while 
    }  // end foreach 
    // Ausgabevariabel schreiben, da nun alle Einträge behandelt wurden. 
    echo '&nbsp;&nbsp;' . $sTmpStr; 
  } // end if (is_array) 


} 
?> 
Anmerkung: Hab dies nur fix im Notepad gemacht da keine Zeit .... müsste aber gehen.

Für das Highlight Item wird nun die CSS-Klasse "klein_highl" hergenommen, also bitte diese klasse entsprechend in der CSS-Datei noch definieren.

Hoffe es funzt, ansonste muß ich die Tage mal schaun ( Urlaub lässt grüssen ).

So long

Sky
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x
schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 »

Vielen Dank. Das hat mir schon sehr viel geholfen.
Ein Problem habe ich aber noch: Ich benutze das Modul 2 mal auf meinen Seiten. Das funktioniert auch wunderbar, aber wenn ich jetzt den aktuellen Punkt fett haben möchte, dann ist wirklich nur der aktuelle Punkt fett. Das ist in der 1. Naviebene ok, aber wenn ich in der 2. Ebene bin, dann ist nur der aktuelle Unterpunkt fett. der Hauptpunkt nicht mehr. Das sollte nicht sein.

Hier nochmal als Bsp.:

So ist es aktuell:

Punkt1 | Punkt 2 | Punkt 3
Unterpunkt 1| Unterpunkt 2


Und so soll es sein:

Punkt1 | Punkt 2 | Punkt 3
Unterpunkt 1| Unterpunkt 2

Danke
Thomas
SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader »

Das wird schwieriger, da cih dazu das modul um EINIGES erweitern muß.


Den Unterpunkt hat nunmal ne andere IDCAT als Hauptpunkt .. und daher wird nur unterpunkt 2 hervorgehoben, da dies die aktuelle IDCat ist ...

werd mjir morgen/übermorgen malw as überlegen, nur heut bin ich noch voll mit anderen dingen


sers

sky
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x
schmitt197
Beiträge: 90
Registriert: Fr 14. Nov 2003, 17:56
Kontaktdaten:

Beitrag von schmitt197 »

Danke für deine schnelle Antwort.

Freue mich, bald wieder was von Dir zu hören.
SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader »

So, hat leider etwas gedauert


habe so eben die version 0.4 alpha meines Moduls in meinem Thread zu meinem Modul veröffentlicht.

In der Version habe ich versucht deinen Wunsch mit zu implementieren, konnte aber auf Grund von Zeitmangel nicht eine so tiefe Unterebenen anlegen um den Teil einen Intensiven Test zu unterziehen. Hoffe es klappt und es ist das was du brauchst.

http://www.contenido.de/forum/viewtopic ... c&start=15

so long

Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x
Gesperrt