Modul: Artikelliste für V4.4.x (V2.0.2)
Das braucht ein bisschen (vielleicht morgen).
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
So, anbei eine BETA-Version, sie ist nur stichpunktartig getestet (daher Empfehlung: zunächst als zusätzliches Modul einbinden).
Ich bitte um Test. Wenn alles in Ordnung ist, aktualisiere ich Seite 1.
Änderung:
- Topic kann nun Seitentitel (Frontend oder Backend) oder Zusammenfassung sein.
Beschreibung:
Input:
Output:
Viel Erfolg.
Gruß
HerrB
Ich bitte um Test. Wenn alles in Ordnung ist, aktualisiere ich Seite 1.
Änderung:
- Topic kann nun Seitentitel (Frontend oder Backend) oder Zusammenfassung sein.
Beschreibung:
Code: Alles auswählen
Artikelliste V4.4.5 V2.1beta
Basiert auf der Standardartikelliste von Contenido V4.4.x (Autor: Jan Legowski, 4fb).
Überarbeitet von HerrB, 18.06.2005
Code: Alles auswählen
$selected = "CMS_VALUE[0]"; // selected category
echo ' <table cellspacing="0" cellpadding="10" border="0">',chr(10);
echo ' <tr valign="top">',chr(10);
echo ' <td class="text_medium">Kategorie wählen:</td>',chr(10);
echo ' <td class="text_medium" colspan="2"><select name="CMS_VAR[0]">',chr(10);
if ($selected != "0" && $selected != "") {
echo ' <option value="0">--- kein ---</option>',chr(10);
} else {
echo ' <option selected="selected" value="0">--- kein ---</option>',chr(10);
}
// fetch all categorys
$query = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ";
$query .= $cfg["tab"]["cat"]." AS B, ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ";
$query .= "AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ";
$query .= "AND C.visible=1 ORDER BY A.idtree";
// execute query
$db->query($query);
// loop result and build the options
while ($db->next_record()) {
$spaces = "|"; // indent spacer
$levels = $db->f("level"); // how many levels
for ($i = 0; $i < $levels; $i++) {
$spaces = $spaces . "--"; // add 2 spaces for every level
}
$spaces .= ">";
if ($selected == $db->f("idcat")) {
// selected category
echo '<option selected="selected" value="'. $db->f("idcat") .'">'. $spaces . $db->f("name") .'</option>',chr(10);
} else {
// category
echo '<option value="'. $db->f("idcat") .'">'. $spaces . $db->f("name") .'</option>',chr(10);
}
}
echo ' </select>',chr(10);
echo ' </td>',chr(10);
echo ' </tr>',chr(10);
echo ' <tr>',chr(10);
echo ' <td class="text_medium">Überschrift</td>',chr(10);
echo ' <td class="text_medium" colspan="2"><input type="text" name="CMS_VAR[2]" value="CMS_VALUE[2]"></td>',chr(10);
echo ' </tr>',chr(10);
echo ' <tr>',chr(10);
echo ' <td class="text_medium">Angezeigte Länge in Zeichen</td>',chr(10);
if (!is_numeric("CMS_VALUE[3]")) {
echo ' <td class="text_medium" colspan="2"><input type="text" name="CMS_VAR[3]" value="50"></td>',chr(10);
} else {
echo ' <td class="text_medium" colspan="2"><input type="text" name="CMS_VAR[3]" value="CMS_VALUE[3]"></td>',chr(10);
}
echo ' </tr>',chr(10);
echo ' <tr>',chr(10);
echo ' <td class="text_medium" style="vertical-align: top;">Sortiert nach:</td>',chr(10);
echo ' <td class="text_medium" colspan="2"><select name="CMS_VAR[4]">',chr(10);
if ("CMS_VALUE[4]" == "" || "CMS_VALUE[4]" == "CATART.idart") {
echo ' <option value="CATART.idart" selected>Artikel-ID</option>',chr(10);
} else {
echo ' <option value="CATART.idart">Artikel-ID</option>',chr(10);
}
if ("CMS_VALUE[4]" == "CONTENT.value") {
echo ' <option value="CONTENT.value" selected>Topic</option>',chr(10);
} else {
echo ' <option value="CONTENT.value">Topic</option>',chr(10);
}
if ("CMS_VALUE[4]" == "ARTLANG.created") {
echo ' <option value="ARTLANG.created" selected>Erstellungsdatum</option>',chr(10);
} else {
echo ' <option value="ARTLANG.created">Erstellungsdatum</option>',chr(10);
}
if ("CMS_VALUE[4]" == "ARTLANG.lastmodified") {
echo ' <option value="ARTLANG.lastmodified" selected>Änderungsdatum</option>',chr(10);
} else {
echo ' <option value="ARTLANG.lastmodified">Änderungssdatum</option>',chr(10);
}
if ("CMS_VALUE[4]" == "ARTLANG.title") {
echo ' <option value="ARTLANG.title" selected>Seitentitel (Backend)</option>',chr(10);
} else {
echo ' <option value="ARTLANG.title">Seitentitel (Backend)</option>',chr(10);
}
if ("CMS_VALUE[4]" == "ARTLANG.pagetitle") {
echo ' <option value="ARTLANG.pagetitle" selected>Seitentitel (Frontend)</option>',chr(10);
} else {
echo ' <option value="ARTLANG.pagetitle">Seitentitel (Frontend)</option>',chr(10);
}
if ("CMS_VALUE[4]" == "ARTLANG.summary") {
echo ' <option value="ARTLANG.summary" selected>Zusammenfassung (Backend)</option>',chr(10);
} else {
echo ' <option value="ARTLANG.summary">Zusammenfassung (Backend)</option>',chr(10);
}
if ("CMS_VALUE[4]" == "ARTLANG.artsort") {
echo ' <option value="ARTLANG.artsort" selected>Sort No.</option>',chr(10);
} else {
echo ' <option value="ARTLANG.artsort">Sort No.</option>',chr(10);
}
echo ' </select><br>',chr(10);
if ("CMS_VALUE[5]" != "DESC") {
echo ' <input type="radio" name="CMS_VAR[5]" value="ASC" checked>Aufsteigend <input type="radio" name="CMS_VAR[5]" value="DESC">Absteigend',chr(10);
} else {
echo ' <input type="radio" name="CMS_VAR[5]" value="ASC">Aufsteigend <input type="radio" name="CMS_VAR[5]" value="DESC" checked>Absteigend',chr(10);
}
echo ' </td>',chr(10);
echo ' </tr>',chr(10);
echo ' <tr>',chr(10);
echo ' <td class="text_medium" style="vertical-align: top;">Startartikel:</td>',chr(10);
if ("CMS_VALUE[6]" != "enabled") {
echo ' <td class="text_medium" colspan="2"><input type="checkbox" name="CMS_VAR[6]" value="enabled">Anzeigen ';
} else {
echo ' <td class="text_medium" colspan="2"><input type="checkbox" name="CMS_VAR[6]" value="enabled" checked>Anzeigen ';
}
if ("CMS_VALUE[7]" != "enabled") {
echo '<input type="checkbox" name="CMS_VAR[7]" value="enabled">An erster Stelle</td>',chr(10);
} else {
echo '<input type="checkbox" name="CMS_VAR[7]" value="enabled" checked>An erster Stelle</td>',chr(10);
}
echo ' </tr>',chr(10);
echo ' <tr>',chr(10);
echo ' <td class="text_medium" style="vertical-align: top;">Topic-Identifikation:</td>',chr(10);
echo ' <td class="text_medium" style="vertical-align: top;">Inhaltstyp:</td>',chr(10);
echo ' <td class="text_medium" style="vertical-align: top;"><select name="CMS_VAR[9]">',chr(10);
if (!is_numeric("CMS_VALUE[9]") || !in_array("CMS_VALUE[9]", array("-3","-2","-1","1","2","3","9"))) {
echo ' <option value="1" selected>CMS_HTMLHEAD</option>',chr(10);
} else {
echo ' <option value="1">CMS_HTMLHEAD</option>',chr(10);
}
if ("CMS_VALUE[9]" == "2") {
echo ' <option value="2" selected>CMS_HTML</option>',chr(10);
} else {
echo ' <option value="2">CMS_HTML</option>',chr(10);
}
if ("CMS_VALUE[9]" == "3") {
echo ' <option value="3" selected>CMS_TEXT</option>',chr(10);
} else {
echo ' <option value="3">CMS_TEXT</option>',chr(10);
}
if ("CMS_VALUE[9]" == "9") {
echo ' <option value="9" selected>CMS_HEAD</option>',chr(10);
} else {
echo ' <option value="9">CMS_HEAD</option>',chr(10);
}
if ("CMS_VALUE[9]" == "-1") {
echo ' <option value="-1" selected>Seitentitel (Frontend)*</option>',chr(10);
} else {
echo ' <option value="-1">Seitentitel (Frontend)*</option>',chr(10);
}
if ("CMS_VALUE[9]" == "-2") {
echo ' <option value="-2" selected>Seitentitel (Backend)*</option>',chr(10);
} else {
echo ' <option value="-2">Seitentitel (Backend)*</option>',chr(10);
}
if ("CMS_VALUE[9]" == "-3") {
echo ' <option value="-3" selected>Zusammenfassung (Backend)*</option>',chr(10);
} else {
echo ' <option value="-3">Zusammenfassung (Backend)*</option>',chr(10);
}
echo ' </select><br><font size="1">* Typ-Nummer wird ignoriert</font>',chr(10);
echo ' </td>',chr(10);
echo ' </tr>',chr(10);
echo ' <tr>',chr(10);
echo ' <td class="text_medium" style="vertical-align: top;"> </td>',chr(10);
echo ' <td class="text_medium" style="vertical-align: top;">Typ-Nummer:</td>',chr(10);
echo ' <td class="text_medium" style="vertical-align: top;">',chr(10);
if (!is_numeric("CMS_VALUE[8]")) {
echo ' <input type="text" name="CMS_VAR[8]" length="5" maxlength="10" value="1"><br><font size="1">z.B. 3 bei CMS_HTML[3]</font>',chr(10);
} else {
echo ' <input type="text" name="CMS_VAR[8]" length="5" maxlength="10" value="CMS_VALUE[8]"><br><font size="1">z.B. 3 bei CMS_HTML[3]</font>',chr(10);
}
echo ' </td>',chr(10);
echo ' </tr>',chr(10);
echo ' <tr>',chr(10);
echo ' <td class="text_medium">Artikelanzahl (0 = keine Begrenzung):</td>',chr(10);
if (!is_numeric("CMS_VALUE[10]")) {
echo ' <td class="text_medium" colspan="2"><input type="text" name="CMS_VAR[10]" value="0"></td>',chr(10);
} else {
echo ' <td class="text_medium" colspan="2"><input type="text" name="CMS_VAR[10]" value="CMS_VALUE[10]"></td>',chr(10);
}
echo ' </tr>',chr(10);
echo ' </table>',chr(10);
Code: Alles auswählen
<?php
unset ($arrData);
$arrData = array();
$arrData["Category"] = "CMS_VALUE[0]"; // selected category
// 1 was used in previous versions
$arrData["Headline"] = "CMS_VALUE[2]"; // Table headline
$arrData["MaxChar"] = "CMS_VALUE[3]"; // Max. shown topic length
$arrData["OrderBy"] = "CMS_VALUE[4]"; // Order By selection
$arrData["AscDesc"] = "CMS_VALUE[5]"; // Asc or Desc sorting
$arrData["WithStart"] = "CMS_VALUE[6]"; // with start article?
$arrData["StartFirst"] = "CMS_VALUE[7]"; // Start article as first article in list?
$arrData["TypeCount"] = "CMS_VALUE[8]"; // Content type count, e.g. CMS_H T M L [3] -> $TypeCount = 3
$arrData["TypeID"] = "CMS_VALUE[9]"; // Content type id, e.g. CMS_H T M L or pagetitle (-2) or title (-1)
$arrData["Limit"] = "CMS_VALUE[10]"; // Max. article count
if (!is_numeric($arrData["MaxChar"]) || $arrData["MaxChar"] < 1) {
$arrData["MaxChar"] = "50";
}
if ($arrData["AscDesc"] == "") {
$arrData["AscDesc"] = "DESC ";
}
if (!is_numeric($arrData["TypeID"])) {
$arrData["TypeID"] = "1";
$arrData["TypeCount"] = "1";
}
if (!is_numeric($arrData["TypeCount"])) {
$arrData["TypeCount"] = "1";
}
if ($arrData["OrderBy"] == "" || ($arrData["TypeID"] < 0 && strpos($arrData["OrderBy"], "CONTENT") !== false)) {
// If no order by specified or an order by specified using CONTENT where no CONTENT is available ...
$arrData["OrderBy"] = "CATART.idart ";
}
if (is_numeric($arrData["Category"]) && $arrData["Category"] != "0") {
// select all articles in category without start article
switch ($arrData["TypeID"]) {
case "-3":
// Article title (Backend)
$query = "SELECT ARTLANG.summary AS topic, ARTLANG.idart AS id FROM ";
$query .= $cfg["tab"]["cat_art"]." AS CATART, ";
$query .= $cfg["tab"]["art_lang"]." AS ARTLANG ";
$query .= "WHERE ";
break;
case "-2":
// Article title (Backend)
$query = "SELECT ARTLANG.title AS topic, ARTLANG.idart AS id FROM ";
$query .= $cfg["tab"]["cat_art"]." AS CATART, ";
$query .= $cfg["tab"]["art_lang"]." AS ARTLANG ";
$query .= "WHERE ";
break;
case "-1":
// Pagetitle (Frontend)
$query = "SELECT ARTLANG.pagetitle AS topic, ARTLANG.idart AS id FROM ";
$query .= $cfg["tab"]["cat_art"]." AS CATART, ";
$query .= $cfg["tab"]["art_lang"]." AS ARTLANG ";
$query .= "WHERE ";
break;
default:
$query = "SELECT CONTENT.value AS topic, ARTLANG.idart AS id FROM ";
$query .= $cfg["tab"]["cat_art"]." AS CATART, ";
$query .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
$query .= $cfg["tab"]["content"]." AS CONTENT ";
$query .= "WHERE CONTENT.idartlang = ARTLANG.idartlang ";
$query .= "AND CONTENT.typeid = '".$arrData["TypeCount"]."' "; // Element count (CMS_H T M L [3] -> $TypeCount = 3)
$query .= "AND CONTENT.idtype = '".$arrData["TypeID"]."' AND "; // Content-Type
}
$query .= "CATART.idcat = '".$arrData["Category"]."' ";
$query .= "AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '".$lang."' ";
$query .= "AND ARTLANG.online = '1' ";
if ($arrData["WithStart"] != "enabled") {
$query .= "AND CATART.is_start = '0' ";
}
// Sort by
$query .= "ORDER BY ";
if ($arrData["WithStart"] == "enabled" && $arrData["StartFirst"] == "enabled") { // Startartikel an erster Stelle
$query .= "CATART.is_start DESC, ";
}
$query .= $arrData["OrderBy"]." ";
$query .= $arrData["AscDesc"]." "; // ASC/DESC
// LIMIT
if (is_numeric($arrData["Limit"]) && $arrData["Limit"] > 0) {
$query .= "LIMIT 0, ".$arrData["Limit"];
}
// execute query
$db->query($query);
if ($db->num_rows() > 0) {
// Table header
echo '<table width="165" border="0" cellspacing="0" cellpadding="0">';
echo '<tr><td height="30" colspan="2" ></td></tr>';
echo '<tr><td height="21" width="22" style="border: 0px; border-top:1px; border-bottom:1px; border-color: #F7C473; border-style: solid; background-color: #FCF2D5"><img src="images/wuerfel.gif" width="22" height="21" border="0"></td>';
echo '<td width="143" style="border: 1px; border-left:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px" class="punkte">'.$arrData["Headline"].'</td></tr>';
while ($db->next_record()) {
$topic = urldecode($db->f("topic"));
if (strlen($topic) > $arrData["MaxChar"]) {
$topic = substr($topic, 0, $arrData["MaxChar"]);
$topic .= '..';
}
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selCat&idart=".$db->f("id"));
echo '<tr><td colspan="2" class="text" height="22" style="border: 1px; border-top:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px"><a href="'.$link.'">'.$topic.'</a></td></tr>';
} // end while
unset($topic);
echo '</table><br>';
} // end if
} // end if
unset ($arrData);
?>
Gruß
HerrB
Zuletzt geändert von HerrB am Mo 20. Jun 2005, 20:10, insgesamt 1-mal geändert.
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Hallo Herr B.
Den Seitentitel (Backend) kann ich in der Artikelliste anzeigen lassen, klappt wunderbar. Allerdings bekomme ich im Editor folgende Fehlermeldung:.
Konnte den Fehler leider nicht finden. Für Dich wahrscheinlich ein Leichtes.
Viele Grüße
Hotte
Den Seitentitel (Backend) kann ich in der Artikelliste anzeigen lassen, klappt wunderbar. Allerdings bekomme ich im Editor folgende Fehlermeldung:
Code: Alles auswählen
Parse error: parse error, unexpected '<' in /home/www/xxx/xxx/xxx/contenido/includes/include.con_editcontent.php(571) : eval()'d code on line 859
Konnte den Fehler leider nicht finden. Für Dich wahrscheinlich ein Leichtes.
Viele Grüße
Hotte
Nein, leicht war es nicht. Ein blöder Fehler, ersetze in den Kommentaren überall CMS_HTML durch CMS_H T M L.
Im Editor wird offensichtlich CMS_HTML ersetzt (was ja auch logisch ist) - dabei entsteht Murks.
Durch die gesperrte Schreibweise werden die CMS_HTML-Elemente nicht mehr erkannt und es gibt kein Problem mehr.
Code oben ist aktualisiert.
Gruß
HerrB
Im Editor wird offensichtlich CMS_HTML ersetzt (was ja auch logisch ist) - dabei entsteht Murks.
Durch die gesperrte Schreibweise werden die CMS_HTML-Elemente nicht mehr erkannt und es gibt kein Problem mehr.
Code oben ist aktualisiert.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Hallo,
ich habe mir das Modul von der ersten Seite eben kopiert und in Contenido 4.4.5 eingebaut.
Ich hab dieses "contenidocms-wamp" installiert von:
http://sourceforge.net/project/showfile ... p_id=35885
Bei mir funktioniert es leider nicht und nach etwas testen sieht es so aus:
Es ist als "CMS_CONTAINER[12]" ins Template eingebaut.
In der Vorkonfiguration hab ich "Kategorie wählen: Punkt 1" eingestellt.
Im Ausgabemodul hab ich mal ergänzt:
Es wird aber nur "Kategorie: " ausgegeben und natürlich keine Artikelliste.
*EDIT*
Anscheinend ist es so:
in der Modul-Vorkonfiguration kann ich zwar die Einstellungen machen und abspeichern (er merkt sich die Änderungen), aber diese Änderungen haben auf das Ausgabemodul keine Wirkung.
Ich habe jetzt das News-Modul durch diese Artikelliste ersetzt und im Ausgabemodul die 2. Zeile geändert (das ist eh das was ich haben will):
Jetzt steht da wo vorher die News waren die richtige Artikelliste der aktuellen Kategorie, aber als Überschrift steht da noch immer "News" anstatt "Test" was ich bei "Überschrift" reingeschrieben habe.
*EDIT 2*
So, jetzt hab ich das Verzeichnis "C:\Contenido" umbenannt und das "contenidocms-wamp" völlig neu installiert. Ich hab dieses Modul neu hinzugefügt Name="Artikelliste_HerrB" und in den Container 8 gepackt.
Wieder das gleiche Problem:
Die Werte die ich in der Modul-Vorkonfiguration eingebe werden zwar gespeichert, aber die Änderungen haben keinen Einfluss auf das Frontend.
Die Zeile
echo "maxChar: " . $maxChar;
gibt immer "maxChar: 50" aus, auch wenn ich den Wert auf 100 ändere.
Gruß,
Steffan
ich habe mir das Modul von der ersten Seite eben kopiert und in Contenido 4.4.5 eingebaut.
Ich hab dieses "contenidocms-wamp" installiert von:
http://sourceforge.net/project/showfile ... p_id=35885
Bei mir funktioniert es leider nicht und nach etwas testen sieht es so aus:
Es ist als "CMS_CONTAINER[12]" ins Template eingebaut.
In der Vorkonfiguration hab ich "Kategorie wählen: Punkt 1" eingestellt.
Im Ausgabemodul hab ich mal ergänzt:
Code: Alles auswählen
<?php
$selCat = "CMS_VALUE[0]"; // selected category
$maxChar = "CMS_VALUE[3]"; // Max. shown topic length
echo "Kategorie:" . $selCat;
*EDIT*
Anscheinend ist es so:
in der Modul-Vorkonfiguration kann ich zwar die Einstellungen machen und abspeichern (er merkt sich die Änderungen), aber diese Änderungen haben auf das Ausgabemodul keine Wirkung.
Ich habe jetzt das News-Modul durch diese Artikelliste ersetzt und im Ausgabemodul die 2. Zeile geändert (das ist eh das was ich haben will):
Code: Alles auswählen
<?php
$selCat = $idcat;
*EDIT 2*
So, jetzt hab ich das Verzeichnis "C:\Contenido" umbenannt und das "contenidocms-wamp" völlig neu installiert. Ich hab dieses Modul neu hinzugefügt Name="Artikelliste_HerrB" und in den Container 8 gepackt.
Wieder das gleiche Problem:
Die Werte die ich in der Modul-Vorkonfiguration eingebe werden zwar gespeichert, aber die Änderungen haben keinen Einfluss auf das Frontend.
Die Zeile
echo "maxChar: " . $maxChar;
gibt immer "maxChar: 50" aus, auch wenn ich den Wert auf 100 ändere.
Gruß,
Steffan
Hast Du die Einstellung auch in der Konfiguration (Kategorie/Artikel) vorgenommen, nicht nur in der Vorkonfiguration?
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Hi,
ersteinmal ein dickes Lob! Die Artikelliste ist wirklich gelungen.
Ich habe noch eine Frage dazu:
Kann man einen alternativen Inhalt (z.B. einfachen Text) anzeigen lassen, wenn in der Kategorie keine weitern Artikel, außer dem Startartikel sind?
Es soll für eine Termin-Seite sein. Wenn keine Termine vorhanden sind soll dann automatisch ein Hinweis angezeigt werden.
Gruß
Nebel
ersteinmal ein dickes Lob! Die Artikelliste ist wirklich gelungen.
Ich habe noch eine Frage dazu:
Kann man einen alternativen Inhalt (z.B. einfachen Text) anzeigen lassen, wenn in der Kategorie keine weitern Artikel, außer dem Startartikel sind?
Es soll für eine Termin-Seite sein. Wenn keine Termine vorhanden sind soll dann automatisch ein Hinweis angezeigt werden.
Gruß
Nebel
Zuletzt geändert von Nebel am Do 17. Nov 2005, 23:02, insgesamt 1-mal geändert.
-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Hi Halchteranerin,
Gruß
Eigentlich richtig, aber passt für den speziellen fall nicht ganz.Halchteranerin hat geschrieben:Nebel, dafuer gibt's eigentlich die Terminverwaltungsmodule.
Aber wie? Bin leider nicht wirklich fitt in php. Müsste irgendeine funktion sein, die erkennt, dass nur noch eine bestimmte Anzahl von Artikeln in der Kategorie ist (z.B. 2). Bei weniger als 2 wird dann ... ausgegeben.Halchteranerin hat geschrieben: Wenn du die Artikelliste erweiterst, kannst du sicherlich auch einen Text anzeigen lassen ...
Gruß
Uuuuh, das ist so Hölle schwer, da muss ich praktisch Geld verlangen für die Sek... öhm Stunden und Tage, die sowas braucht. Aber versuchen wir es gemeinsam. So als Einstieg für Dich in PHP...
Das ist der Code am Ende vom Output (von Seite 1):
Durch scharfes Hinsehen erkennt man, dass nur etwas ausgegeben wird, wenn die Anzahl der zurückgegebenen Artikel größer 0 ist ("if ($db->num_rows() > 0) {"). Hättste auch ohne mich gesehen, bin ich mir sicher...
D.h. wenn Du nun die Konfiguration "ohne Startartikel" verwendest, sollte Dich bereits dieser Code zum Ziel führen:
Man beachte das
Wenn Du "mit Startartikel" nimmst oder die Kategorie sowieso immer zwei Artikel beinhaltet, dann musst Du die erste Bedingung von >0 auf >1 bzw. >2 ändern, das wars.
Wenn Du den Code von dieser Seite nimmst, gilt das Gezeigte entsprechend. Bitte beachten, dass nur der if-Teil angegeben ist, danach geht der Code in der Ausgabe noch drei Zeilen weiter, die bleiben unverändert.
Haben wir es geschafft. Glücklich? Glücklich.
Gruß
HerrB
P.S.: Ich konnte nicht wiederstehen...
Das ist der Code am Ende vom Output (von Seite 1):
Code: Alles auswählen
if ($db->num_rows() > 0) {
// Table header
echo '<table width="165" border="0" cellspacing="0" cellpadding="0">';
echo '<tr><td height="30" colspan="2" ></td></tr>';
echo '<tr><td height="21" width="22" style="border: 0px; border-top:1px; border-bottom:1px; border-color: #F7C473; border-style: solid; background-color: #FCF2D5"><img src="images/wuerfel.gif" width="22" height="21" border="0"></td>';
echo '<td width="143" style="border: 1px; border-left:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px" class="punkte">CMS_VALUE[2]</td></tr>';
while ($db->next_record()) {
$headline = urldecode($db->f("headline"));
if (strlen($headline) > $maxChar) {
$headline = substr($headline, 0, $maxChar);
$headline .= '..';
}
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selCat&idart=".$db->f("id")."&m=$m&s=$s");
echo '<tr><td colspan="2" class="text" height="22" style="border: 1px; border-top:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px"><a href="'.$link.'">'.$headline.'</a></td></tr>';
} // end while
unset($headline);
echo '</table><br>';
} // end if
D.h. wenn Du nun die Konfiguration "ohne Startartikel" verwendest, sollte Dich bereits dieser Code zum Ziel führen:
Code: Alles auswählen
if ($db->num_rows() > 0) {
// Table header
echo '<table width="165" border="0" cellspacing="0" cellpadding="0">';
echo '<tr><td height="30" colspan="2" ></td></tr>';
echo '<tr><td height="21" width="22" style="border: 0px; border-top:1px; border-bottom:1px; border-color: #F7C473; border-style: solid; background-color: #FCF2D5"><img src="images/wuerfel.gif" width="22" height="21" border="0"></td>';
echo '<td width="143" style="border: 1px; border-left:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px" class="punkte">CMS_VALUE[2]</td></tr>';
while ($db->next_record()) {
$headline = urldecode($db->f("headline"));
if (strlen($headline) > $maxChar) {
$headline = substr($headline, 0, $maxChar);
$headline .= '..';
}
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selCat&idart=".$db->f("id")."&m=$m&s=$s");
echo '<tr><td colspan="2" class="text" height="22" style="border: 1px; border-top:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px"><a href="'.$link.'">'.$headline.'</a></td></tr>';
} // end while
unset($headline);
echo '</table><br>';
} else {
echo 'Hier wird der HTML-Code ausgegeben, der erscheint, wenn nix zum ausgeben da ist';
} // end if
Code: Alles auswählen
} else {
echo 'Hier wird der HTML-Code ausgegeben, der erscheint, wenn nix zum ausgeben da ist';
Wenn Du den Code von dieser Seite nimmst, gilt das Gezeigte entsprechend. Bitte beachten, dass nur der if-Teil angegeben ist, danach geht der Code in der Ausgabe noch drei Zeilen weiter, die bleiben unverändert.
Haben wir es geschafft. Glücklich? Glücklich.
Gruß
HerrB
P.S.: Ich konnte nicht wiederstehen...
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Moin HerrB,
Das mit >0 hatte ich tatsächlich gesehen
Vielen Dank!
Vielen Dank für die Nacht, die du dir für mich um die Ohren geschlagen hast!!!HerrB hat geschrieben:Uuuuh, das ist so Hölle schwer, da muss ich praktisch Geld verlangen für die Sek... öhm Stunden und Tage, die sowas braucht. Aber versuchen wir es gemeinsam.
...
Durch scharfes Hinsehen erkennt man, dass nur etwas ausgegeben wird, wenn die Anzahl der zurückgegebenen Artikel größer 0 ist ("if ($db->num_rows() > 0) {"). Hättste auch ohne mich gesehen, bin ich mir sicher...
Das mit >0 hatte ich tatsächlich gesehen
Das ist es! Wusste nicht wie ich das hinbekommeHerrB hat geschrieben:Code: Alles auswählen
} else { echo 'Hier wird der HTML-Code ausgegeben, der erscheint, wenn nix zum ausgeben da ist';
Überglücklich! Ehlich.Haben wir es geschafft. Glücklich? Glücklich.
Vielen Dank!