Seite 1 von 1
CMS_IMG[1] in newsliste
Verfasst: Fr 27. Jan 2006, 13:06
von aw029
Hallo,
Ich hab in einem Artikel ein CMS_IMG[1]. In der Newsliste (Die aus der Standardinst.) will ich nun das Bild anzeigen lassen. Aber, et geht net. Das erste Bild im CMS_TEXT wird als Vorschau angezeigt. Den Bug in der teaser.html hab ich schon behoben. Aber wie sag ich, dass er CMS_IMG[1] als Vorschaubild nehmen soll ?
ich hab im newsmodul schon:
Code: Alles auswählen
$teaser_img = '<img src="CMS_IMG[1]" class="teaser_img">';
$teasertext = $teasertext." ";
$tpl->set('d', 'HEADLINE', $teaserheadline);
$tpl->set('d', 'TEXT', $teasertext);
$tpl->set('d', 'HREF', $href);
$tpl->set('d', 'IMG', $teaser_img);
$tpl->set('d', 'MORE', mi18n("mehr"));
versucht, aber da tut sich nix.
Verfasst: Fr 27. Jan 2006, 13:11
von rezeptionist
lies dir mal die Threads durch in denen es um die Newsliste geht
kurz:
Dieses Modull holt sich NUR das bild aus dem Textfeld
ich lege dir ans Herz die Artikelliste von Herrb zu nutzen die wurde genau auf diese Bedürfnisse programmiert
Verfasst: Fr 27. Jan 2006, 13:13
von emergence
es findet sich ja etwas wie das hier im modul
Code: Alles auswählen
$headline = strip_tags($article->getContent('CMS_HTMLHEAD', 1));
funktioniert fast ident mit dem CMS_IMG
ich würde es wie folgt versuchen
dann müsstest du den pfad zu dem bild in der variable $image stehen haben...
Verfasst: Fr 27. Jan 2006, 13:31
von aw029
ich könnt die liste von HerrB nehmen, aber ich wills ja auch irgendwann mal verstehen.
mit:
Code: Alles auswählen
$test = $article->getContent('CMS_TEXT', 1);
var_dump($test);
bekomme ich den text. Alles klar perfekt.
Aber mit:
Code: Alles auswählen
$test = $article->getContent('CMS_IMG', 1);
var_dump($test);
krieg ich nur einen String wo '64' drin steht ??. Was bedeutet eigentlich der zweite Parameter bei getContent ?
Verfasst: Fr 27. Jan 2006, 13:43
von emergence
...krieg ich nur einen String wo '64' drin steht ??
ach so, das ist der idupl wert des bildes... (so gut kenne ich die klasse nicht)
siehe db tabelle con_upl
mit diesem ziffern wert kannst du zb ne db abfrage nach der id vornehmen
und mittels name und pfad der dort gespeichert ist, einen korrekten link auf das bild generieren...
Was bedeutet eigentlich der zweite Parameter bei getContent ?
bitte selbst in der class.article.php nachsehen...
Verfasst: Fr 27. Jan 2006, 14:39
von aw029
Holy-Moly.

Ich habs echt hinbekommen. Danke. Ich habe auch gleich die Suche nach dem IMG-Tag in CMS_TEXT rausgenommen, weil ich denke das macht das ganz vielleicht etwas schneller.
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : News
* Author(s) : Andreas Lindner, 4fb
* Copyright : Contenido - four for business, Andreas Lindner
* Created : 12.08.2005
* Modified : 27.01.2006
************************************************/
cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
cInclude('includes', 'functions.api.images.php');
if (!is_object($tpl)) {
$tpl = new Template;
}
$tpl->reset();
$sql = "SELECT
htmlpath, frontendpath
FROM
".$cfg["tab"]["clients"]."
WHERE
idclient = ".$client." ";
$db->query($sql);
if ($db->next_record()) {
$htmlpath = $db->f('htmlpath');
$frontendpath = $db->f('frontendpath');
}
// selected category
$selcat = "CMS_VALUE[1]";
//echo "sel $selcat<br>";
$template = "teaser-standard.html";
//echo "tpl $template<br>";
// anzahl der zeichen text
$mxtext = 200;
$limit = "CMS_VALUE[15]";
$cms_sort_direction = "CMS_VALUE[16]";
if ($cms_sort_direction == '') {
$cms_sort_direction = 'desc';
}
if ("CMS_VALUE[3]" == "sortdate") {
$order = 'lastmodified';
} else {
$order = 'artsort';
}
$newsheadline = "CMS_VALUE[4]";
$tpl->set('s', 'TITLE', $newsheadline);
if (strlen($selcat) > 0 AND $selcat != '0') {
$options = array ('idcat' => $selcat, "start" => false, "order" => $order, "direction" => $cms_sort_direction);
$list = new ArticleCollection($options);
$count = $list->count;
if ($count > 0) {
if (is_numeric($limit) AND strlen($limit) > 0) {
if ($limit < $list->count) {
$limit_art = $limit;
} else {
$limit_art = $list->count;
}
} else {
$limit_art = $list->count;
}
for ($i = 0; $i < $limit_art; $i ++) {
$article = $list->nextArticle();
$article_id = $article->getField('idart');
$teaser_img = '';
if ($noimg != 'true') {//Wenn Bild ja
$br_img = $article->getContent('IMG', 1);
$img_teaser = '';
$sql = "SELECT
*
FROM
".$cfg["tab"]["upl"]."
WHERE
idupl=$br_img ";
//echo "<pre>"; print_r($sql); echo "</pre>";
$db->query($sql);
if ($db->next_record()) {
$filename = $db->f('filename');
$dirname = $db->f('dirname');
//echo $dirname.$filename;
}
$img_path = $cfgClient[$client]["upl"]["path"].$dirname.$filename;
$img_size = "CMS_VALUE[14]";
$img_teaser = capiImgScale($img_path, $img_size, $img_size, $crop = false, $expand = false, $cacheTime = 1000, $wantHQ = false);
$teaser_img = '<img src="'.$img_teaser.'" class="teaser_img">';
} // end if noimg
$headline = strip_tags($article->getContent('CMS_HTMLHEAD', 1));
$headline = str_replace($replace, " ", $headline);
/* $subheadline = strip_tags($article->getContent('CMS_HTMLHEAD', 2));
$subheadline = str_replace($replace, " ", $subheadline);*/
$teaserheadline = /*$subheadline." - ".*/
$headline;
$href = $sess->url("front_content.php?idcat=$selcat&idart=$article_id");
$teasertext = $article->getField('summary');
if (strlen(trim($teasertext)) == 0) {
$teasertext = strip_tags($article->getContent('CMS_HTML', 1));
$teasertext2 = $teasertext;
$teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
if ($teasertext!=$teasertext2) {
$teasertext.= '...';
}
} // end if
$teasertext = $teasertext." ";
$tpl->set('d', 'HEADLINE', $teaserheadline);
$tpl->set('d', 'TEXT', $teasertext);
$tpl->set('d', 'HREF', $href);
$tpl->set('d', 'IMG', $teaser_img);
$tpl->set('d', 'MORE', mi18n("mehr"));
$tpl->next();
} // end for
$tpl->generate('templates/'.$template);
}
}
?>
teaser Bilder
Verfasst: Di 21. Mär 2006, 18:11
von BIQA
Hallo, habe das selbe Problem mit den Bildern im Teaser und such jetzt seit 2 Stunden im Forum:
Bei mir wird garkein Bild angezeigt: wo wird der bug in der teaser.html genauer beschrieben? irgenwo muss ich wohl einen Platzhalter ergänzen, es wird aber nicht beschrieben wo...
kann ich anschließend o.g gepostetet Code verwenden? um IMG_1 statt HTML Bild anzeoigen zu lassen?

Verfasst: Di 21. Mär 2006, 18:14
von rezeptionist