Im Input kann man folgendes wählen:
1. Die Kategorie (noch ohne Unterkategorie)
2. Startartikel Ja/Nein
3. Anzahl der Zeichen, nach der der Text gekürzt werden soll. Falls kein Wert eingegeben wird, wird der komplette Text ausgegeben. (allerdings noch ohne Berücksichtigung des Wortendes)
4. Linktext, der bei abgekürztem Ausgabetext als "Weiter"-Button verwendet werden soll.
Vielleicht kann das ja jemand gebrauchen. Erweiterungen dafür habe ich s.o. schon im Kopf, allerdings kommt das erst in Kürze - aber vielleicht hat ja der eine oder andere Lust etwas dran zu basteln )
Input-Code:
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Neueste News
*
* Ausgabe des neuesten Artikels aus einer wählbaren Kategorie
* basiert in Fragmenten auf der Artikelliste von Thilo
* 1.Gibt die Headline eines Artikel mit aus
* 2.Gibt ein Bild (falls vorhanden) der News mit Untertitel aus
* 3.Startartikel zuschaltbar
* 4. Textkürzung möglich (noch ohne Berücksichtigung des Wortendes)
* Author : Alexander Marquart <info at kptkip punkt de>
* Copyright : None
* Created : 06-07-05
* Modified :
************************************************/
// selected category
$selected = "CMS_VALUE[0]";
$seldir = "CMS_VALUE[9]";
$selimg = "CMS_VALUE[11]";
//funktion für die checkboxen
function d_checked($which) {
if ($which != "") {
return "checked";
}
} // end function
echo "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\">
<tr bgcolor=\"#E8E8EE\" valign=\"top\">
<td></td>
<td><input type=\"checkbox\" value=\"on\" ".d_checked("CMS_VALUE[14]")." name=\"CMS_VAR[9]\"></td>
<td width=\"120\" class=\"text_medium\">Ausgabe mit Startartikel</td>
<td></td>
<td class=\"text_medium\">Kategorie wählen:<br>
<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>
<td></td>
</tr>";
echo"
<tr bgcolor=\"#E8E8EE\" valign=\"top\">
<td></td>
<td></td>
<td width=\"120\" class=\"text_medium\"><br>Anzahl der Zeichen:</td>
<td></td>
<td class=\"text_medium\"><br>
<input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\" size=\"24\">";
echo "</td>
<td></td>
</tr>";
echo"
<tr bgcolor=\"#E8E8EE\" valign=\"top\">
<td></td>
<td></td>
<td width=\"120\" class=\"text_medium\"><br>Linktext zur kompletten Nachricht:</td>
<td></td>
<td class=\"text_medium\"><br>
<input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\" size=\"24\">";
echo "</td>
<td></td>
</tr></table>";
Code: Alles auswählen
<?
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Neueste News
*
* Ausgabe des neuesten Artikels aus einer wählbaren Kategorie
* basiert in Fragmenten auf der Artikelliste von Thilo
* 1.Gibt die Headline eines Artikel mit aus
* 2.Gibt ein Bild (falls vorhanden) der News mit Untertitel aus
* 3.Startartikel zuschaltbar
* 4. Textkürzung möglich (noch ohne Berücksichtigung des Wortendes)
* Author : Alexander Marquart <info at kptkip punkt de>
* Copyright : None
* Created : 06-07-05
* Modified :
************************************************/
$newscat = CMS_VALUE[0];
$htmlLength = "CMS_VALUE[2]";
$linkString = "CMS_VALUE[1]";
// Keine Ausgabe ohne Kategorie-Auswahl
////////////////////////////////////////////////
if($newscat!="0" && $newscat!=""){
// Soll der startartikel mit ausgegeben werden?
$isstarton = "AND CATART.is_start = '0' AND";
$echo_startartikel = "CMS_VALUE[9]";
if($echo_startartikel !=""){
$isstarton = "AND";
}
// Alle Artikel MIT/OHNE Startartikel
$newsquery = "SELECT ARTLANG.idart AS newsidart, ARTLANG.idartlang AS newsidartlang, ARTLANG.created AS created "
."FROM ". $cfg["tab"]["cat_art"]." AS CATART,".$cfg["tab"]["art_lang"]." AS ARTLANG "
."WHERE CATART.idcat='$newscat' AND ARTLANG.idart=CATART.idart AND ARTLANG.idlang='$lang' AND ARTLANG.online='1' "
.$isstarton." ARTLANG.locked='0' "
."ORDER BY ARTLANG.created DESC";
$db->query($newsquery);$db->next_record();
// IDs und Datum sichern
$newsidart = $db->f("newsidart");
$newsidartlang = $db->f("newsidartlang");
$newscreated= date("d.m.y",strtotime($db->f("created")));
// Inhalte auslesen
$nStringquery = "SELECT idtype,value FROM ". $cfg["tab"]["content"] ." WHERE idartlang='$newsidartlang' ";
$db->query($nStringquery);
// Inhalte in eigene Arrays schreiben (in Zukunft mehrere Bilder und Texte möglich - kommt noch ;-)!)
while($db->next_record()){
switch($db->f("idtype")){
case "1":
$headerStrings[] =$db->f("value"); break;
case "2":
$htmlStrings[] =$db->f("value"); break;
case "4":
$imageIds[] =$db->f("value"); break;
case "5":
$imageStrings[] =$db->f("value"); break;
}
}
// Ausgabe des Contents und evtl. Kürzen des Textes
if (!empty($htmlLength) && strlen(urldecode($htmlStrings[0]))>$htmlLength+4){
$htmlString = substr(urldecode($htmlStrings[0]),0,$htmlLength);
$htmlString .= "... <a href=\"/front_content.php?idart=" .$newsidart. "\">".$linkString ."</a>";
}
else{
$htmlString = urldecode($htmlStrings[0]);
}
echo "<h2>".urldecode($headerStrings[0])."</h2>\n";
// Falls ein Bild existiert, dessen URL einbetten
if(!empty($imageIds[0])){
$nImagequery = "SELECT filename,dirname FROM ". $cfg["tab"]["upl"] ." WHERE idupl='$imageIds[0]' ";
$db->query($nImagequery); $db->next_record();
$nImageURL = "/upload/".$db->f("dirname").$db->f("filename");
echo "<div style=\"float:right; margin:0px 0px 3px 5px;\">"
."<img src=\"$nImageURL\" alt=\"$imageStrings[0]\" /><br />";
if(!empty($imageStrings[0]))
echo "<span class=\"bold\">$imageStrings[0]</span>";
echo "</div>";
}
echo "<p><span class=\"bold\">". $newscreated." | </span>".$htmlString;
}
// END
?>
Gruß
Kpt|Kip[/code]