CMS_IMG[1] in newsliste

Gesperrt
aw029
Beiträge: 73
Registriert: Mi 21. Jan 2004, 16:59
Wohnort: Alfdorf
Kontaktdaten:

CMS_IMG[1] in newsliste

Beitrag von aw029 » Fr 27. Jan 2006, 13:06

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."&nbsp;";

			$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.
Ten minutes of reading saves two hours of try-and-error.

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » Fr 27. Jan 2006, 13:11

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
greets

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 27. Jan 2006, 13:13

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

Code: Alles auswählen

$image = $article->getContent('CMS_IMG', 1);
dann müsstest du den pfad zu dem bild in der variable $image stehen haben...
*** make your own tools (wishlist :: thx)

aw029
Beiträge: 73
Registriert: Mi 21. Jan 2004, 16:59
Wohnort: Alfdorf
Kontaktdaten:

Beitrag von aw029 » Fr 27. Jan 2006, 13:31

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 ?
Ten minutes of reading saves two hours of try-and-error.

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 27. Jan 2006, 13:43

...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...
*** make your own tools (wishlist :: thx)

aw029
Beiträge: 73
Registriert: Mi 21. Jan 2004, 16:59
Wohnort: Alfdorf
Kontaktdaten:

Beitrag von aw029 » Fr 27. Jan 2006, 14:39

Holy-Moly. :D :D 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."&nbsp;-&nbsp;".*/
			$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."&nbsp;";

			$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);

	}
}

?>
Ten minutes of reading saves two hours of try-and-error.

BIQA
Beiträge: 49
Registriert: So 20. Nov 2005, 21:13
Wohnort: Koeln
Kontaktdaten:

teaser Bilder

Beitrag von BIQA » Di 21. Mär 2006, 18:11

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?

:oops:
Contenido 4.8.12

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

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

greets

Gesperrt