Seite 1 von 1

wie geht's -> CSS Eigenschaft für ersten Navipunkt im Mod

Verfasst: Do 8. Dez 2005, 13:06
von nicnac
hi,

wie kann ich bei meinem Modul 'horizontale und vertikale Navigation' für den ersten Navigationspunkt im Modul direkt eine CSS Eigenschaft angeben? Ich bin nicht soooo fit in php, aber das müßte doch eigentlich mit ner schleife machbar sein und angepaßten neuen Templates für _on und _off?

hier ein Link zur Entwicklungssite: http://www.hautschutz-berlin.de/cms/front_content.php

Es geht darum, dass der 1. Navigationspunkt, also Startseite, immer so breit sein soll wie das darunter befindliche Bild. Da ich bei den Navigationpunkten den Abstand links und rechts zum Wort mit padding vordefiniert habe um einen gleichen Abstand zu erhalten, kann ich natürlich nicht (jedenfalls nicht mit meinen momentanen Kenntnissen) den ersten Punkt so anpassen, dass ich für links und rechts individuelle Werte in den a href schreibe.

Hier die Ausgabe des Moduls, welches angepaßt werden müßte.

Code: Alles auswählen

<?php

echo "<ul id=\"firstnavlist\">";

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

/* 1. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();

if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navfirst_on.html');
} else {
$tpl->generate('templates/navfirst_off.html');
}
}

echo "</ul>";

?>

Verfasst: Do 8. Dez 2005, 14:03
von i-fekt
Evtl. könnte es so gehen?

Code: Alles auswählen

<?php

echo "<ul id=\"firstnavlist\">";

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

$zaehler++;
/* 1. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();

if ($zaehler==1) {
if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navfirst1_on.html');
} else {
$tpl->generate('templates/navfirst1_off.html');
}

}else{

if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navfirst2_on.html');
} else {
$tpl->generate('templates/navfirst2_off.html');
}

}

}

echo "</ul>";

?>
Bei jedem Eintrag den Counter erhöhen und wenn es der erste Navipunkt ist ein andere Templates verwenden als bei den anderen. In dem Template vergibst dann eben ne Klasse oder schreibst es statisch rein.

Verfasst: Do 8. Dez 2005, 14:09
von nicnac
das probiere ich nachher mal in Ruhe.
Muß nämlich gleich zu einer Schulung.

Danke schon einmal.

Verfasst: Do 8. Dez 2005, 22:04
von nicnac
hallo i-fekt,


paßt.
Also template 2 hat das angepaßte css.

Code: Alles auswählen

<?php

echo "<ul id=\"firstnavlist\">";

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

$zaehler++;
/* 1. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();

if ($zaehler==1) {
if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navfirst2_on.html');
} else {
$tpl->generate('templates/navfirst2_off.html');
}

}else{

if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navfirst1_on.html');
} else {
$tpl->generate('templates/navfirst1_off.html');
}

}

}

echo "</ul>";

?>
Dank Dir.