ich habe da ein untermenü gebastelt. nun brauche ich in meinem code eine angabe auf welcher seite ich mich gerade befinde und vor allen dingen den namen der seite. wie bekomm ich das raus? die stelle wo das hin muss ist ganz untern beim funktionsaufruf "CreateAutoLayerStructure("",name der aktuellen seite, "").
Code: Alles auswählen
<?php
$idcatbak = $idcat;
echo '<SCRIPT LANGUAGE="JavaScript" type="text/JavaScript">
';
$sql_level1 = "SELECT
A.idcat,
C.name,
B.idclient,
C.idlang
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
C.idlang = '".$lang."' AND
B.idclient = '".$client."' AND
C.visible = 1 AND
A.level = '2' AND
B.parentid = '".$idcatbak."'
ORDER BY
A.idtree";
$db->query($sql_level1);
$index=0;
$arrayTopElements[$index][0] = "menumain";
while ( $db->next_record() )
{
$index++;
$arrayTopElements[$index][0] = $db->f("name");
$arrayTopElements[$index][1] = $db->f("idcat");
$arrayTopLinks[$index] = 'front_content.php?idcat='.$db->f("idcat").'&client='.$db->f("idclient").'&lang='.$db->f("idlang");
}
$arrayTopElementsLength = sizeof($arrayTopElements);
$index = 0;
while($index < $arrayTopElementsLength)
{
$idcat = $arrayTopElements[$index][1];
if(isset($idcat))
{
$sql_SubElements = "SELECT
A.idcat,
C.name,
C.idlang,
B.idclient
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
C.idlang = '".$lang."' AND
B.idclient = '".$client."' AND
C.visible = 1 AND
A.level = '3' AND
B.parentid = '".$idcat."'
ORDER BY
A.idtree";
$db->query($sql_SubElements);
$item = 0;
while ( $db->next_record() )
{
$arraySubElements[$index][$item] = $db->f("name");
$arraySubLinks[$index][$item] = 'front_content.php?idcat='.$db->f("idcat").'&client='.$db->f("idclient").'&lang='.$db->f("idlang");
$item++;
}
}
$index++;
}
//--------------------------------------------------------------------------------------
$arraydefTop = "arrayTopElements = [ ";
$index = 0;
while ($index < $arrayTopElementsLength-1)
{
$arraydefTop = $arraydefTop . "\"" . $arrayTopElements[$index][0] . "\",";
$index++;
}
$arraydefTop = $arraydefTop . "\"". $arrayTopElements[$arrayTopElementsLength-1][0] . "\" ];";
echo $arraydefTop;
//$arraydefTop should be something like this now:
//arrayTopElements = [ "menumain", "OC Planer", "Zusatzmodule", "Technik", "Beratung", "Heinz", "Simone" ];
//--------------------------------------------------------------------------------------
$arraydefSub = "arraySubElements = [ ";
$arraydefSubLinks = "arraySubDestinations = [ ";
$index = 0;
while ($index < $arrayTopElementsLength-1)
{
$arraydefSub = $arraydefSub . "[ ";
$arraydefSubLinks = $arraydefSubLinks . "[ ";
$item = 0;
$lastitem = sizeof($arraySubElements[$index]);
while ($item < $lastitem-1)
{
if (!empty($arraySubElements[$index][$item]))
{
$value = "\"" . $arraySubElements[$index][$item] . "\", ";
$valueSubLinks = "\"" . $arraySubLinks[$index][$item] . "\", ";
}
else
{
$value = " ";
$valueSubLinks = " ";
}
$arraydefSub = $arraydefSub . $value;
$arraydefSubLinks = $arraydefSubLinks . $valueSubLinks;
$item++;
}
if (!empty($arraySubElements[$index][$item]))
{
$value = "\"" . $arraySubElements[$index][$item] . "\" ";
$valueSubLinks = "\"" . $arraySubLinks[$index][$item] . "\" ";
}
else
{
$value = " ";
$valueSubLinks = " ";
}
$arraydefSub = $arraydefSub . $value . "], ";
$arraydefSubLinks = $arraydefSubLinks . $valueSubLinks . "], ";
$index++;
}
$arraydefSub = $arraydefSub . "[ ";
$arraydefSubLinks = $arraydefSubLinks . "[ ";
$item = 0;
$lastitem = sizeof($arraySubElements[$index]);
while ($item < $lastitem-1)
{
if (!empty($arraySubElements[$index][$item]))
{
$value = "\"" . $arraySubElements[$index][$item] . "\", ";
$valueSubLinks = "\"" . $arraySubLinks[$index][$item] . "\", ";
}
else
{
$value = " ";
$valueSubLinks = " ";
}
$arraydefSub = $arraydefSub . $value;
$arraydefSubLinks = $arraydefSubLinks . $valueSubLinks;
$item++;
}
if (!empty($arraySubElements[$index][$item]))
{
$value = "\"" . $arraySubElements[$index][$item] . "\" ";
$valueSubLinks = "\"" . $arraySubLinks[$index][$item] . "\" ";
}
else
{
$value = " ";
$valueSubLinks = " ";
}
$arraydefSub = $arraydefSub . $value . "] ];";
$arraydefSubLinks = $arraydefSubLinks . $valueSubLinks . "] ];";
echo $arraydefSub;
echo $arraydefSubLinks;
//arraySubElements should look like this now:
/*arraySubElements = [
[],
[ "Produktmerkmale", "Features", "10 Gründe" ],
[ "Zeitwirtschaft", "Zutrittskontrolle", "Mein Dienstpl@n", "Personal Controlling" ]
];
*/
/*
arraySubDestinations = [ [],
[ "produktmerkmale.htm", "features.htm", "zehn_gruende.htm" ],
[ "zeitwirtschaft.htm", "zutrittskontrolle.htm", "mein_dienstplan.htm", "personal_controlling.htm" ],
[],
[]
];
*/
//--------------------------------------------------------------------------------------
/* Hier sind die 3 Arrays fix eingetragen, aber dann entsprechen die Menues natuerlich
nicht mehr exakt den Strukturen, wenn ein Benutzer die Struktur aendert. Deshalb
muss man entweder eine fixe Struktur in Kauf nehmen oder sich geschickte Datenbankabfragen
ausdenken */
// Note: menumain is fix and _must_ be first element!!
//Error-Line zum Debuggen
//$d5->query($sql_level1);
$htmlCode = <<< END_OF_CODE
InitCategories( arrayTopElements, arraySubElements, arraySubDestinations );
CreateAutoLayerStructure( "", "", "" );
</SCRIPT>
END_OF_CODE;
echo $htmlCode;
?>