Artikellink Dropdown-Menue für 4.8.x anpassen?
Verfasst: Fr 16. Mai 2008, 09:37
Hallo zusammen,
ich hatte folgendes Modul mit Contenido 4.4.4/4.4.5 im Einsatz.
INPUT
OUTPUT:
Ich habe nun ein Upgrade auf Contenido 4.8.3 mit gleichzeitiger Umstellung auf MySQL5, PHP5 und Konvertierung der Startartikel durchgeführt. Das obige Modul funktioniert ("natürlich") nicht mehr, da es unter anderem die alte Startartikeleigenschaft benutzt. Es funktioniert aber auch nicht mehr, wenn ich angebe, dass das Menü ohne Startartikel angezeigt werden soll, also wo das "CATART.is_start = '0'" fehlt.
Ich hatte versucht, mit Hilfe der Artikelliste von HerrB die SQL-Anweisung anzupassen, bin aber dabei leider erfolglos geblieben.
Kann mir bitte jemand helfen?
ich hatte folgendes Modul mit Contenido 4.4.4/4.4.5 im Einsatz.
INPUT
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Artikellink Dropdown-Menue
* Author : Mathias Berkenkamp, Jose Rodriguez, Ekkehard Dörre
* Copyright : Mathias Berkenkamp, Jose Rodriguez, Ekkehard Dörre
* Created : 24-09-2002
* Modified : 09-03-2003
* Letzte Änderung: 24-05-2004
* Contenido-Version: 4.4.4
************************************************/
echo "<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\">
<tr valign=\"top\">";
// Block ein oder ausschalten
echo"<td>Block:</td><td><input type=\"radio\" name=\"CMS_VAR[1]\" value=\"\"";
if ("CMS_VALUE[1]" == "") {
echo "checked";
}
echo ">aus</td></tr><tr><td></td><td><input type=\"radio\" name=\"CMS_VAR[1]\" value=\"0\"";
if ("CMS_VALUE[1]" == "0") {
echo "checked";
}
echo ">an</tr><tr valign=\"top\">";
// Kategorie Wählen
$selected = "CMS_VALUE[0]";
echo "<td>Kategorie wählen:</td><td>
<select name=\"CMS_VAR[0]\">";
// fetch all categorys
$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 ORDER BY A.idtree";
// execute query
$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 ++) {
// add 2 spaces for every level
$spaces = $spaces . " ";
} // end for
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
echo " </select>
</td>
</tr>
<tr valign=\"top\">";
// Startartikel
echo"<td>Startartikel:</td><td><input type=\"radio\" name=\"CMS_VAR[2]\" value=\"\"";
if ("CMS_VALUE[2]" == "") {
echo "checked";
}
echo ">nein</td></tr><tr><td></td><td><input type=\"radio\" name=\"CMS_VAR[2]\" value=\"0\"";
if ("CMS_VALUE[2]" == "0") {
echo "checked";
}
echo ">ja</tr>
</table>";
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Artikellink Dropdown-Menue
* Author : Mathias Berkenkamp, Jose Rodriguez, Ekkehard Dörre
* Copyright : Mathias Berkenkamp, Jose Rodriguez, Ekkehard Dörre
* Created : 24-09-2002
* Modified : 09-03-2003
* Letzte Änderung: 24-05-2004
* Contenido-Version: 4.4.4
************************************************/
if ("CMS_VALUE[1]" == "0") {
echo "<TABLE cellspacing=\"0\" border=\"0\"><FORM name=\"quicklink\"><TR><TD NOWRAP><SELECT NAME=\"jump\" onChange=\"if (this.options[this.selectedIndex].value.length!=0) location=this.options[this.selectedIndex].value\">";
echo"<OPTION VALUE=link>Bitte wählen Sie</OPTION>";
// selected category
$selcat = "CMS_VALUE[0]";
// select all articles in category without start article
if ("CMS_VALUE[2]" == "0") {
$query = "SELECT ARTLANG.title,ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG ".
"WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ".
"ARTLANG.online = '1' ORDER BY ARTLANG.artsort ";
// select all articles in category with start article
} else {
$query = "SELECT ARTLANG.title,ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG ".
"WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ".
"ARTLANG.online = '1'AND CATART.is_start = '0' ORDER BY ARTLANG.artsort";
}
// execute query
$db->query($query);
unset($articleID);
unset($linkID);
// get articles
$is_empty=1;
while ($db->next_record()) {
$articleID = $db->f("idartlang");
$linkID = $db->f("idart");
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID");
$headline = $db->f("title");
// HTML template for one element
echo"<OPTION VALUE=$link>$headline</OPTION>";
unset($headline);
$is_empty=0;
} // end while
if ($is_empty == 1) {
echo "<OPTION>Keine Artikel</OPTION>";
}
echo"</SELECT></FORM>
<SCRIPT LANGUAGE=\"Javascript 1.1\"><!--
document.quicklink.jump.selectedIndex=0;
//--></SCRIPT></TD</TR></table>";
} else {}
?>
Ich hatte versucht, mit Hilfe der Artikelliste von HerrB die SQL-Anweisung anzupassen, bin aber dabei leider erfolglos geblieben.
Kann mir bitte jemand helfen?
