bei einer Seite, die am Ende ca. 300 Kategorien haben wird, setze ich auf allen Seiten im Footerbreich die vpNavigation ein (die gesuchte Auswahlmöglichkeit ist aber bei nahezu allen Navigationen gleich).
Es werden in der Sitemap/Naviagtion nur 2 Ebenen ausgegeben, das ist kein Problem und alles schon gelöst.
Um aber im Backend bei der Artikelkonfiguration nicht den Überblick zu verlieren, möchte ich beim Modul die Auswahlmöglichkeiten des zu wählenden Baumes auf 2 Ebenen einschränken.
Also Baum sieht in etwa so aus:
Punkt 1
---Punkt 1.1
------Punkt 1.1.1
------Punkt 1.1.2
---Punkt 1.2
Punkt 2
---Punkt 2.1
------Punkt 2.1.1
------Punkt 2.1.2
---Punkt2.2
Punkt 3
Im Backend werden normalerweise alle Kategorien im Dropdown aufgelistet. Durch "... AND A.level = '1' ..." im Modulinput kann ich es auf EIN Level beschränken.
Allerdings brauch ich 2 Level. Wie würde diese Eintrag lauten, wenn ich Level 0 UND 1 in der Artikelkonfig sehen will.
D.H. ich möchte in der Artikelkonfig im Dropdown sehen:
Punkt 1
---Punkt 1.1
---Punkt 1.2
Punkt 2
---Punkt 2.1
---Punkt2.2
Was muss man hierzu im Input ergänzen/einfügen?
Jetzt noch zum Idealfall: Kann man dann vielleicht auch noch eine Kategorie auf Level 0 (in diesem Beispiel Punkt3) auschließen, also, dass Sie nicht im Dropdown erscheint?
Ich hoffe auf Hilfe.
Hier nochmal der gesamte Input
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : vpSitemap 0.4
* Author : Ingo van Peeren
* Copyright : Ingo van Peeren (ingo@van-peeren.de)
* Created : 2005-01-14
* Modified : 2006-09-07
* Credits : Nik Wyss & juergen@sotonic.de
************************************************/
$selected = "CMS_VALUE[0]";
?>
<table cellspacing="0" cellpadding="10" border="0">
<tr valign="top">
<td>Kategorie wählen:</td>
<td><?php echo "<select name=\"CMS_VAR[0]\">";?>
<option value="0">---Alle---</option>
<?php
// alle Kategorien auslesen
$query = "SELECT
A.idcat,
A.level,
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 C.idlang='$lang'
AND B.idclient='$client'
AND C.visible=1
AND A.level = '1'
ORDER BY A.idtree";
// Query ausführen
$db->query($query);
// loop result and build the options
while ($db->next_record()) {
// indent spacer
$spaces = "|";
// how many levels
$levels = $db->f("level");
// for ($i = 0; $i > $levels; $i ++) {
for ($i = 0; $i < $levels; $i ++) {
// add 2 spaces for every level
$spaces = $spaces . "--";
} // end for
$spaces .= ">";
if ($selected == $db->f("idcat")) {
// selected category
echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} else {
// category
echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} // end if
} // end while
?>
</select>
</td>
</tr>
<tr style="display:none;">
<td>Anzahl Ebenen:</td>
<td><input type="text" name="<?php echo "CMS_VAR[1]"; ?>" value="<?php echo "CMS_VALUE[1]"; ?>"></td>
</tr>
<tr style="display:none;">
<td>Ebene "0" anzeigen:</td>
<?php
echo "<td><INPUT TYPE=\"radio\" NAME=\"CMS_VAR[2]\" VALUE=\"1\"";
if ("CMS_VALUE[2]" == "1") {
echo "checked=checked";
}
echo "> ja
<input type=\"radio\" name=\"CMS_VAR[2]\" value=\"0\"";
if ("CMS_VALUE[2]" == "0") {
echo "checked=checked";
}
echo "> nein </td></tr>";
echo " </table>";