Problem mit den Hauptpunkten bei der vpNavigation
Verfasst: Fr 12. Okt 2007, 10:25
Hallo Community!
Ich versuche gerade das Modul vpNavigation von Ingo van Peeren
anzupassen, leider komme ich an einer Stelle jedoch nicht weiter.
Ich habe es geschaft, dass die Hauptkategorien schon korrekt ausgegeben werden und wenn sich dort unter auch noch Kategorien befinden, werden diese auch schon korrekt dort unter ausgegeben.
Es gibt allerdings auch Hauptkategorien, die keine Unterkategorien besitzen. Diese werden dann leider genauso formatiert ausgegeben wie die Unterkategorien, da dass Script nur prüft, ob es sich um eine Kategorie mit Unterkategorien handelt.

Das ganze Konstrukt sollte nachher so aussehen:
Und so sieht es leider aktuell aus
Schon einmal herzlichen Dank für Eure Hilfe!
Beste Grüße,
Tim
Ich versuche gerade das Modul vpNavigation von Ingo van Peeren
anzupassen, leider komme ich an einer Stelle jedoch nicht weiter.
Ich habe es geschaft, dass die Hauptkategorien schon korrekt ausgegeben werden und wenn sich dort unter auch noch Kategorien befinden, werden diese auch schon korrekt dort unter ausgegeben.
Es gibt allerdings auch Hauptkategorien, die keine Unterkategorien besitzen. Diese werden dann leider genauso formatiert ausgegeben wie die Unterkategorien, da dass Script nur prüft, ob es sich um eine Kategorie mit Unterkategorien handelt.

Das ganze Konstrukt sollte nachher so aussehen:
Code: Alles auswählen
<dl>
<dt id="patienteninformationen"><a href="#" class="hp">Patienteninformationen</a></dt>
<dd>
<ul>
<li><a href="#">Aufbau des Hüftgelenks</a></li>
<li><a href="#">Erkrankung des Hüftgelenks</a></li>
<li><a href="#">Das künstliche Hüftgelenk</a></li>
<li><a href="#">System der Femurkopfschale</a></li>
<li><a href="#">Patienten für Implantat</a></li>
<li><a href="#">Vorbereitung zur Operation</a></li>
<li><a href="#">Ablauf der Operation</a></li>
<li><a href="#">Zurück Zuhause</a></li>
<li><a href="#">Der Endoprothesenpass</a></li>
</ul>
</dd>
<dt id="patientenstimmen"><a href="#" class="hp">Patientenstimmen</a></dt>
<dt id="krankenhaeuser"><a href="#" class="hp">Krankenhäuser</a></dt>
<dt id="hersteller"><a href="#" class="hp">Hersteller</a></dt>
<dt id="infomaterial"><a href="#" class="hp">Infomaterial</a></dt>
<dt id="kontakt"><a href="#" class="hp">Kontakt</a></dt>
<dt id="impressum"><a href="#" class="hp">Impressum</a></dt>
</dl>
Und so sieht es leider aktuell aus

Code: Alles auswählen
<dl>
<dt id="patienteninformationen"><a href="front_content.php?idcat=2" class="hp">Patienteninformationen</a></dt>
<dd>
<ul>
<li><a href="front_content.php?idcat=9">Aufbau des Hüftgelenks</a></li>
<li><a href="front_content.php?idcat=10">Erkrankung des Hüftgelenks</a></li>
<li><a href="front_content.php?idcat=11">Das künstliche Hüftgelenk</a></li>
<li><a href="front_content.php?idcat=12">System der Femurkopfschale Onlay</a></li>
<li><a href="front_content.php?idcat=13">Patienten für ein Onlay Implantat</a></li>
<li><a href="front_content.php?idcat=14">Vorbereitung zur Operation</a></li>
<li><a href="front_content.php?idcat=15">Ablauf der Operation</a></li>
<li><a href="front_content.php?idcat=16">Zurück Zuhause</a></li>
<li><a href="front_content.php?idcat=17">Der Endoprothesenpass</a></li>
</ul>
</dd>
<li><a href="front_content.php?idcat=3">Patientenstimmen</a></li>
<dt id="krankenhäuser"><a href="front_content.php?idcat=4" class="hp">Krankenhäuser</a></dt>
<dd>
<ul>
<li><a href="front_content.php?idcat=18">Kiel</a></li>
<li><a href="front_content.php?idcat=19">Münster</a></li>
<li><a href="front_content.php?idcat=20">Berlin</a></li>
</ul>
</dd>
<li><a href="front_content.php?idcat=5">Herstellerinformationen</a></li>
<li><a href="front_content.php?idcat=6">Informationsmaterial</a></li>
<li><a href="front_content.php?idcat=7">Kontakt</a></li>
<li><a href="front_content.php?idcat=8">Impressum</a></li>
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : vpNavigation 0.2
* Author : Ingo van Peeren
* Copyright : Ingo van Peeren (ingo@van-peeren.de)
* Created : 30-03-2005
* Modified : 16-07-2005
************************************************/
$hauptkategorie = "CMS_VALUE[0]";
$navitems = array();
function nav_feld ($cat) {
global $client, $lang, $cfg, $idcat;
if (!is_object($db)) {
$db = new DB_Contenido;
}
$sql = "SELECT
A.idcat,
B.parentid,
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
B.idclient = '$client' AND
C.idlang = '$lang' AND
C.visible = '1' AND
B.parentid = '$cat'
ORDER BY
A.idtree";
$db->query($sql);
while ( $db->next_record() ) {
$aktiv = "";
$sub_feld = nav_feld($db->f("idcat"));
if ($db->f("idcat") == $idcat) $aktiv = "active";
elseif ($sub_feld["activepath"]) $aktiv = "activepath";
$nav_feld[] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"active" => $aktiv,
"sub" => $sub_feld);
if ($aktiv != "") $activepath = $aktiv;
}
$rv = array("feld" => $nav_feld,
"activepath" => $activepath);
return $rv;
}
function liste($array, $indent = " ")
{
global $first;
if(is_array($array["feld"]))
{
if($first)
{
echo "<dl>";
$first = 0;
}
}
foreach($array["feld"] as $menupunkt)
{
if(is_array($menupunkt["sub"]["feld"]))
{
echo "<dt id=\"" . strtolower($menupunkt["name"]) . "\"><a href=\"front_content.php?idcat=" . $menupunkt["idcat"] . "\" class=\"hp\">" . $menupunkt["name"] . "</a></dt>";
echo "<dd><ul>";
liste($menupunkt["sub"], $indent." ");
echo "</ul></dd>";
}
else
{
echo "<li><a href=\"front_content.php?idcat=" . $menupunkt["idcat"] . "\">" . $menupunkt["name"] . "</a></li>";
}
}
/* Create Navigation Array */
$navitems = nav_feld($hauptkategorie);
$first = 1;
liste($navitems);
?>
Beste Grüße,
Tim