ich habe vor ein paar Wochen ein neues Modul ausgearbeitet, dass ich jetzt bereits auf zwei anderen System ebenfalls ohne Probleme eingesetzt habe. Daher möchte ich es hier veröffentlichen. Als Grundlage dafür habe ich alle möglichen anderen Module sowie das API verwendet.
Worum geht es dabei? Wer kennt das nicht, man hat eine größere Internetpräsenz und auf jeder einzelnen Seite gibt es das Bild 1 (Image 1) schön man kann dieses auf jeder Seite auswählen (oder eine alternative dafür angegeben) aber das ist oft zu aufwendig (oder zu langweilig).
1. Mein Modul sucht sich nun als erstes jenes Bild welches für die Seite angegeben wurde.
2. Findet es keines sucht er nach dem Bild welches der Startartikel dieser Kategorie zugeordnet hat. (z.B. bei Übersichtseiten wie bei News od. so muß somit nicht jedem einzelnen Artikel ein Bild zugeordnet werden)
3. Hat dieser Artikel auch kein Bild, such er nach dem Bild, dass dem Startartikel der übergeordneten Kategorie zugeordnet ist
Abgesehen von dem selbstständigen Suchen der Bilder, gibt das Modul auch noch die Bildbeschreibung als ALT-Text aus.
So hier nun der Code:
Code: Alles auswählen
Input: bleibt leer
Output:
<?php
/*
--> Modulname : Bildsuche
--> Author : smac
--> Created : 09-04-2005
--> Modified : 09-04-2005
*/
if ("CMS_IMG[1]" != "") {
if (!$edit){
echo "<img src='CMS_IMG[1]' alt='CMS_IMGDESCR[1]' border='0'>";
} else {
echo "<img src='CMS_IMG[1]' alt='' border='0'>";
}
} else {
$articleListOptions = array("idcat" => $idcat, // Idcat (Muss angegeben werden)
"lang" => $lang, // Sprach id (optional), standard ist die aktive Sprache
"client"=> $client, // Mandant id (optional), standard ist der aktive Mandant
"start" => true, // Startartikel
"order" => "created", // Feldname nach dem sortier wird, siehe tabelle 'con_art_lang'
"direction" => "asc"); // Ab- oder Aufsteigende sortierung ('asc', oder 'desc')
// Artikellisten Objekt erzeugen
$articleList = new ArticleCollection($articleListOptions);
$startartikel = $articleList->startArticle();
$bild = $startartikel->getContent('img', 1);
// echo "bild startartikel".$bild."<br>";
if ($bild==""||$bild==0){
$sql = "SELECT
a.parentid
FROM
".$cfg["tab"]["cat"]." AS a,
".$cfg["tab"]["cat_lang"]." AS b
WHERE
a.idclient = '".$client."' AND
b.idlang = '".$lang."' AND
a.idcat = b.idcat AND
a.idcat = '".$idcat."'";
$db->query($sql);
$db->next_record();
$parent = $db->f("parentid");
$articleListOptions = array("idcat" => $parent, // Idcat (Muss angegeben werden)
"lang" => $lang, // Sprach id (optional), standard ist die aktive Sprache
"client"=> $client, // Mandant id (optional), standard ist der aktive Mandant
"start" => true, // Startartikel
"order" => "created", // Feldname nach dem sortier wird, siehe tabelle 'con_art_lang'
"direction" => "asc"); // Ab- oder Aufsteigende sortierung ('asc', oder 'desc')
// Artikellisten Objekt erzeugen
$articleList = new ArticleCollection($articleListOptions);
$startartikel = $articleList->startArticle();
$bild = $startartikel->getContent('img', 1);
}
// echo "bild parent".$bild."<br>";
if ($bild==""||$bild==0){
$sql = "SELECT
a.parentid
FROM
".$cfg["tab"]["cat"]." AS a,
".$cfg["tab"]["cat_lang"]." AS b
WHERE
a.idclient = '".$client."' AND
b.idlang = '".$lang."' AND
a.idcat = b.idcat AND
a.idcat = '".$parent."'";
$db->query($sql);
$db->next_record();
$parent2 = $db->f("parentid");
$articleListOptions = array("idcat" => $parent2, // Idcat (Muss angegeben werden)
"lang" => $lang, // Sprach id (optional), standard ist die aktive Sprache
"client"=> $client, // Mandant id (optional), standard ist der aktive Mandant
"start" => true, // Startartikel
"order" => "created", // Feldname nach dem sortier wird, siehe tabelle 'con_art_lang'
"direction" => "asc"); // Ab- oder Aufsteigende sortierung ('asc', oder 'desc')
// Artikellisten Objekt erzeugen
$articleList = new ArticleCollection($articleListOptions);
$startartikel = $articleList->startArticle();
$bild = $startartikel->getContent('img', 1);
}
$sql = "SELECT `filename` , `dirname` , `description` FROM ".$cfg["tab"]["upl"]." WHERE `idupl` = ".$bild;
$db->query($sql);
while ( $db->next_record() ) {
$bildpfad = $db->f("dirname").$db->f("filename");
$bildbeschreibung = $db->f("description");
}
if (!$edit){
echo "<img src='upload/".$bildpfad."' alt='".$bildbeschreibung."' border='0'>";
} else {
echo "<img src='upload/".$bildpfad."' alt='' border='0'>";
}
}
if ($edit){
echo "CMS_IMGDESCR[1]";
}
?>