Logisch!
Das ist ja auch das Gute daran.
Ich vermute mal, dass es daran liegt.
Code: Alles auswählen
/**
* Check if a category is child
* of another category
*
* @return boolean true/false
* @author Jan Lengowski <Jan.Lengowski@4fb.de>
* @copyright four for business AG 2003
*/
function catIsChildOf($id, $idparent) {
global $cfg, $client, $lang;
$db = new DB_Contenido;
$parent = $id;
while ( $parent != 0 ) {
$sql = "SELECT
a.parentid
FROM
".$cfg["tab"]["cat"]." AS a,
".$cfg["tab"]["cat_lang"]." AS b
WHERE
a.idclient = '".$client."' AND
b.idlang = '".$lang."' AND
a.idcat = b.idcat AND
a.idcat = '".$parent."'";
$db->query($sql);
$db->next_record();
$parent = $db->f("parentid");
if ($parent == $idparent) {
return true;
}
}
return false;
}
if ( catIsChildOf($idcat, 'CMS_VALUE[0]') ) {
$sel_idcat = $idcat;
} else {
$sel_idcat = 'CMS_VALUE[0]';
}
So wie ich das hier verstehe, läuft die WHILE-Schleife so lange, wie $parent ungleich 0 ist. Außerhalb der Schleife erhält $parent die ID des aktuell geöffneten Artikels. Innerhalb der Schleife wird $parent mit dem Wert parentid aus der Tabelle con_cat überschrieben.
Im Moment weiß ich nicht, woran es liegt. Wähle ich nämlich in der Template-Konfiguration eine Kategorie aus, die unterhalb der obersten liegt, wird nichts angezeigt. Was kann es denn sein?