Artikelliste aus Beispielmandant
-
- Beiträge: 40
- Registriert: Do 20. Nov 2003, 16:01
- Wohnort: Deutscher Meister 2004 ;-)
- Kontaktdaten:
Artikelliste aus Beispielmandant
hallo,
und wieder mal ne frage:
kann man das modul artikelliste aus dem beispielmandanten irgendwie begrenzen, so dass es z.b. nur noch die fünf neuesten artikel einer kategorie anzeigt.
oder vielleicht gibt es für die 4.4er version ja sogar eins und ich habe es übersehen? es soll nur die artikelüberschrift anzeigen können.
kann mir jemand einen tip geben oder mir dabei helfen, das beispielmodul zu modifizieren?
tausend dank und viele grüße,
der abweichler
und wieder mal ne frage:
kann man das modul artikelliste aus dem beispielmandanten irgendwie begrenzen, so dass es z.b. nur noch die fünf neuesten artikel einer kategorie anzeigt.
oder vielleicht gibt es für die 4.4er version ja sogar eins und ich habe es übersehen? es soll nur die artikelüberschrift anzeigen können.
kann mir jemand einen tip geben oder mir dabei helfen, das beispielmodul zu modifizieren?
tausend dank und viele grüße,
der abweichler
Hallo,
ich habe mir folgendes - zugegebenermaßen nicht sonderlich elegantes - Modul gebastelt:
Input:
Output:
Die "5" gibt an, wie viele Artikel gelistet werden sollen (könnte man auch in den Input ziehen).
Gelistet werden die neuesten Artikel nach Erstellungsdatum (nicht letzte Änderung); der Startartikel wird ausgeschlossen.
Angezeigt werden die Titel, nicht die Überschriften.
Soll die Überschrift 1. Ordnung angezeigt werden (vorausgesetzt, diese liegt in CMS_HTMLHEAD[1]), müßte die Abfrage lauten:
Sollte tun
Andreas
ich habe mir folgendes - zugegebenermaßen nicht sonderlich elegantes - Modul gebastelt:
Input:
Code: Alles auswählen
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
<tr>
<td>Überschrift</td>
<td><input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\"></td>
</tr>
</table>";
Code: Alles auswählen
<?php
$sql = "SELECT ARTLANG.idart, ARTLANG.idartlang, ARTLANG.title, CATART.idcat
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["art"]." AS ART
WHERE ARTLANG.idart = CATART.idart AND CATART.idart = ART.idart AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND ART.idclient='$client' AND CATART.idcat='$idcat' AND CATART.is_start='0'
ORDER BY ARTLANG.created DESC";
$db->query($sql);
if ($db->num_rows() != 0)
{
echo '<h2>CMS_VALUE[2]</h2>
<p class="klein">';
}
for ($i=0; $i<min($db->num_rows(),5); $i++)
{
$db->next_record();
$navmod_link ="front_content.php?client=$client&la"."ng=$lang&idcat=".$db->f("idcat")."&idart=".$db->f("idart")."";
echo '<a href="'.$sess->url("$navmod_link").'" class="klein">'.$db->f("title").'</a>';
if ($i != $db->num_rows()-1)
{
echo '</p><p class="klein">';
}
}
if ($db->num_rows() != 0)
{
echo '</p>';
}
?>
Gelistet werden die neuesten Artikel nach Erstellungsdatum (nicht letzte Änderung); der Startartikel wird ausgeschlossen.
Angezeigt werden die Titel, nicht die Überschriften.
Soll die Überschrift 1. Ordnung angezeigt werden (vorausgesetzt, diese liegt in CMS_HTMLHEAD[1]), müßte die Abfrage lauten:
Code: Alles auswählen
$sql = "SELECT ARTLANG.idart, CATART.idcat, CONTENT.value AS title
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang=CONTENT.idartlang
AND CONTENT.idtype='1' AND CONTENT.typeid='1' AND CAT.idcat='$idcat' AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND CATART.is_start='0'
ORDER BY ARTLANG.created DESC";
Andreas
-
- Beiträge: 40
- Registriert: Do 20. Nov 2003, 16:01
- Wohnort: Deutscher Meister 2004 ;-)
- Kontaktdaten:
Hallo,
das Modul in der vorliegenden Form sollte die Artikel aus der aktuellen Kategorie nehmen; um eine andere Kategorie auswählen zu können, müßten Input und Output noch erweitert werden.
In der Form mit der Anzeige des internen Titels läuft das Modul bei mir auch unter 4.4.1.
Sind denn in der entsprechenden Kategorie Artikel außer dem Startartikel online? Und stehen in der Modulansicht die Ampeln auf "grün"?
Gruß
Andreas
das Modul in der vorliegenden Form sollte die Artikel aus der aktuellen Kategorie nehmen; um eine andere Kategorie auswählen zu können, müßten Input und Output noch erweitert werden.
In der Form mit der Anzeige des internen Titels läuft das Modul bei mir auch unter 4.4.1.
Sind denn in der entsprechenden Kategorie Artikel außer dem Startartikel online? Und stehen in der Modulansicht die Ampeln auf "grün"?
Gruß
Andreas
-
- Beiträge: 40
- Registriert: Do 20. Nov 2003, 16:01
- Wohnort: Deutscher Meister 2004 ;-)
- Kontaktdaten:
hallo,
also bei mir sieht das modul wie folgt aus:
input:
Output:
ich würde mich freuen, wenn mir jemand helfen kann, hier irgendwie einen befehl einzufügen, dass nur die fünf neuesten artikel der ausgewählten kategorie angezeigt werden.
oder noch besser:
man könnte im input auswählen, wie viele artikel angezeigt werden, also über eine variable steuern (leere variable = alle einträge)
tausend dank an alle helfer im voraus,
der abweichler
also bei mir sieht das modul wie folgt aus:
input:
Code: Alles auswählen
/**
* Artikelliste mit I1,H1,T1
*
* Erstellt eine Liste mit allen Artikel bis
* auf den Startartikel.
*
* INPUT
*
* Author Jan Lengowski
* Copyright four for business AG
*/
// selected category
$selected = "CMS_VALUE[0]";
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
<tr valign=\"top\">
<td>Kategorie wählen:</td>
<td>
<select name=\"CMS_VAR[0]\">";
if($selected!="0" && $selected!=""){
echo"<option value=\"0\">--- kein ---</option>";
}else{
echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
}
// 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
$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
echo " </select>";
echo " </td>
</tr>
<tr>
<td>Überschrift</td>
<td><input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\"></td>
</tr>
<tr>
<td>Angezeigte Länge in Zeichen</td>
<td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\"></td>
</tr>
</table>";
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* REFERENZ MODUL / ARTIKELLISTE
*
* Artikelliste mit Img 1, Head 1, Head 2
*
* Erstellt eine Liste mit allen Artikel bis
* auf den Startartikel.
*
* Author : Jan Lengowski
* Copyright : four for business AG
* Created : 15-08-2002
* Modified : 16-08-2002
************************************************/
// second db class instance
$db2 = new DB_Contenido;
// selected category
$selcat = "CMS_VALUE[0]";
if($selcat!="0" && $selcat!=""){
// select all articles in category widthout start article
$query = "SELECT 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 CATART.idart DESC";
// execute query
$db->query($query);
unset($articleID);
unset($linkID);
// get id's of sub articles
while ($db->next_record()) {
$articleID[] = $db->f("idartlang");
$linkID[] = $db->f("idart");
} // end while
// loop through subarticles
echo '
<table width="150" border="0" cellspacing="0" cellpadding="0">
<tr><td height="21" width="22" style="border: 0px"></td>
<td width="135" style="border: 0px; padding-left:10px" class="punkte">CMS_VALUE[2]</td></tr>
';
if (is_array($articleID)) {
foreach ($articleID as $key => $value) {
// select all CMS variables of the article
$sql = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '1'";
$db->query($sql);
$db->next_record();
$head = $db->f("value");
if ( strlen($head) > "CMS_VALUE[3]") {
$head = substr($head, 0, "CMS_VALUE[3]");
$head .= '..';
}
// link
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s");
echo '<tr><td colspan="2" class="text" height="22" style="border: 0px; padding-left:20px"><a class="klein" href="'.$link.'">'.urldecode($db->f("value")).'</a><br> </td></tr>';
} // end while
unset($headline);
unset($text);
} // end foreach
} // end if (is_array)
echo '</table><br>';
?>
oder noch besser:
man könnte im input auswählen, wie viele artikel angezeigt werden, also über eine variable steuern (leere variable = alle einträge)
tausend dank an alle helfer im voraus,
der abweichler
beim output modul in der ersten sql anweisung
ändern in
dann müßte es gehen
keine gewähr nur so aus dem kopf
gruss micha
ändern in
Code: Alles auswählen
CATART.lastmodified desc LIMIT 0 , 5
keine gewähr nur so aus dem kopf
gruss micha
-
- Beiträge: 40
- Registriert: Do 20. Nov 2003, 16:01
- Wohnort: Deutscher Meister 2004 ;-)
- Kontaktdaten:
hallo,
erstmal vielen dank für die antwort.
ich bin leider contenido- und php/sql-anfänger (auch wenn ich es geschafft habe, mit dem system innerhalb von 3 tagen eine site online zu stellen: http://www.studis-gegen-gebuehren.de).
im output sehe ich, so weit reichen meine kenntnisse die erste sql-anweisung:
kannst du mir helfen, wo dort die limitierung rein müsste?
vielen dank und gruß,
thomas
erstmal vielen dank für die antwort.
ich bin leider contenido- und php/sql-anfänger (auch wenn ich es geschafft habe, mit dem system innerhalb von 3 tagen eine site online zu stellen: http://www.studis-gegen-gebuehren.de).
im output sehe ich, so weit reichen meine kenntnisse die erste sql-anweisung:
Code: Alles auswählen
$query = "SELECT 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 CATART.idart DESC";
vielen dank und gruß,
thomas
Ans Ende.
Gruß
HerrB
Code: Alles auswählen
$query = "SELECT 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 CATART.idart DESC LIMIT 0,5";
HerrB
-
- Beiträge: 40
- Registriert: Do 20. Nov 2003, 16:01
- Wohnort: Deutscher Meister 2004 ;-)
- Kontaktdaten:
hallo,
dat läuft!!!!
zu sehen unter http://www.studis-gegen-gebuehren.de
danke und viele grüße aus bremen
der abweichler
dat läuft!!!!
zu sehen unter http://www.studis-gegen-gebuehren.de
danke und viele grüße aus bremen
der abweichler