BottomNavigation: aktiven link formatieren (gelöst)

Gesperrt
muddy
Beiträge: 12
Registriert: Sa 3. Jun 2006, 16:32
Wohnort: Berlin
Kontaktdaten:

BottomNavigation: aktiven link formatieren (gelöst)

Beitrag von muddy »

Hallo Leute,

ich würde gerne dem aktiven link in der BottomNavigation eine CSS-Klasse zuweisen.
Ich murks schon seit Stunden rum, habe inzwischen auch geschafft, eine Klasse zuzuweisen.

Jetzt habe ich aber noch das Problem, dass ich bei meinem Lösungsansatz nun auch hinter dem letzten Navigationspunkt einen senkrechten Strich habe, dieser soll jedoch nur zwischen den Navigationspunkten erscheinen.

Hier das Originalmodul:

Code: Alles auswählen

<?php
/***********************************************
* Bottom Navigation Output
*
* Author      :     Willi Man
* Copyright   :     four for business AG
* Version	  : 	1.0
* Created     :     17-03-2005
* Modified    :     05-08-2005, Andreas Lindner
************************************************/

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


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

#Get settings	
$cApiClient = new cApiClient($client);
$catStart = $cApiClient->getProperty('navigation', 'idcat_bottomnavi');

if (!is_object($oClient)) {
	$oClient = new cApiClient($client);
}

#Get sub categories
$navigation = array ();
$navigation = createNavigationArray($catStart, $db);

#Output sub categories
$output = '';
if (count($navigation) > 0) {
	foreach ($navigation as $key => $data) {
		$output .= '<a href="'.$sess->url("front_content.php?idcat=".$data['idcat']).$data['name'].'">'.$data['name'].'</a> | ';
	}
}
if (strlen($output) > 0) {
	$output = substr($output, 0, strlen($output) - 3);
}

echo $output;
?>
Ich habe nun

Code: Alles auswählen

foreach ($navigation as $key => $data) {
		$output .= '<a href="'.$sess->url("front_content.php?idcat=".$data['idcat']).'" class="topnav_link" title="'.$data['name'].'">'.$data['name'].'</a> | ';
	}
durch

Code: Alles auswählen

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

Wie kriege ich nun noch diesen senkrechten Strich hinter dem letzten Navigationspunkt weg? Gibt es noch einen anderen Lösungsansatz, um dem aktiven Navigationspunkt eine Klasse zuzuweisen?

Kann mir jemand einen Tipp geben? Das wäre super!

Viele Grüße aus Berlin von
Muddy
Zuletzt geändert von muddy am Mi 16. Apr 2008, 13:31, insgesamt 1-mal geändert.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

verwende mal folgendes

Code: Alles auswählen

foreach ($navigation as $key => $data) 
{ 
    $sLink = '<a href="'.$sess->url("front_content.php?idcat=".$data['idcat']).'" title="'.$data['name'].'">'.$data['name'].'</a>';
    $output.= (($data['idcat']==$idcat) ? '<span class="active">'.$sLink.'</a>' : $sLink).' | ';
    unset($sLink); 
}    
Zuletzt geändert von emergence am Mi 16. Apr 2008, 12:23, insgesamt 1-mal geändert.
*** make your own tools (wishlist :: thx)
muddy
Beiträge: 12
Registriert: Sa 3. Jun 2006, 16:32
Wohnort: Berlin
Kontaktdaten:

Beitrag von muddy »

Hallo emergence,

danke für den Tipp, aber leider funktioniert`s nicht.

Ich bekomme nur ein rotes Lämpchen im OUTPUT....schade...hast Du vielleicht noch `ne Idee...???

Grüße von
Muddy
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

probiers nochmal... da war ein : zu viel...
*** make your own tools (wishlist :: thx)
muddy
Beiträge: 12
Registriert: Sa 3. Jun 2006, 16:32
Wohnort: Berlin
Kontaktdaten:

Beitrag von muddy »

Super, das war`s!

Es hat aber zunächst dennoch nicht funktioniert, habe im Quellcode nachgeschaut und gesehen, dass das </a> zweimal vorhanden war, das </span> dagegen fehlte.

Habe nun in Deinen Codeschnippsel einfach das </a> durch ein </span> ersetzt und nun klappt`s. Hier nochmal der Code:

Code: Alles auswählen

foreach ($navigation as $key => $data)
{
    $sLink = '<a href="'.$sess->url("front_content.php?idcat=".$data['idcat']).'" title="'.$data['name'].'">'.$data['name'].'</a>';
    $output.= (($data['idcat']==$idcat) ? '<span class="active">'.$sLink.'</span>' : $sLink).' | ';
    unset($sLink);
}
Vielen vielen Dank für Deine superschnelle Hilfe!
Dieses Forum ist der Hammer!!!

Schöne Grüße aus Berlin
Muddy
Gesperrt