News-Modul mit flexiblem "mehr" - gelöst

kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

News-Modul mit flexiblem "mehr" - gelöst

Beitrag von kloevekorn »

Liebe Gemeinde,

ich möchte die Artikelliste des News-Modul soweit abändern, dass "mehr"-Link zum eigentlichen Artikel nur ausgegeben wird, wenn der Artikel auch tatsächlich länger ist, als die eingestellte Zeichenanzahl für den Teaser.

Prinzipiell ist die Vorgehensweise klar, aber weil das ganze mit der teaser_standard.html läuft komme ich nicht weiter.

Versuch 1, bei den Template-Anweisungen anfangen (Ausschnitt aus News-OUTPUT, $textlaenge ist nur ein simples strlen($teasertext)):

Code: Alles auswählen

		$teasertext = $teasertext." ";

			$tpl->set('d', 'HEADLINE', $teaserheadline);
			$tpl->set('d', 'TEXT', $teasertext);
			$tpl->set('d', 'HREF', $href);
			$tpl->set('d', 'IMG', $teaser_img);
			
			/* hier der Versuch:
			if ($textlaenge >= $mxtext) {
		        $tpl->set('d', 'MORE', mi18n("mehr"));
		     }*/
		        
		        
			$tpl->next();
Leider wird dann der Platzhalter {MORE} aus der teaser_standard.html ausgegeben.

Versuch 2:
PHP-Code in der teaser_standard.html ausprobiert, um dort eine Überprüfung zu machen, ob für "{MORE}" ein Wert existiert um im Bedarfsfall den MORE-Part auskommentieren zu können.
PHP wird aber in den HTML-Templates ignoriert.

Habt ihr ne Idee, wie man das MORE flexibel handhaben kann (ohne das Modul ohne Verwendung des HTML-Templates komplett neu zu schreiben - das finde ich ja gerade so gut.)

jan
Zuletzt geändert von kloevekorn am Sa 17. Dez 2005, 10:57, insgesamt 2-mal geändert.
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Re: News-Modul mit flexiblem "mehr"

Beitrag von mvf »

da komme ich nicht ganz mit, wenn du dort einen teasertext ausgibst sind das doch eh nur die ersten x zeichen des textes.

ist dein text denn sooft wirklich kürzer als der teasertext x?
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Re: News-Modul mit flexiblem "mehr"

Beitrag von kloevekorn »

mvf hat geschrieben:da komme ich nicht ganz mit, wenn du dort einen teasertext ausgibst sind das doch eh nur die ersten x zeichen des textes.

ist dein text denn sooft wirklich kürzer als der teasertext x?
Ja, es geht um eine Mitteilungsseite und da gibt es ganz kurze Inhalte und welche, die länger sind.

Ich finds blöd, wenn bei den kurzen, die komplett angezeigt werden auch ein "mehr"-Link ist. Ist halt unsauber, und wenn man draufklickt, ärgert man sich.
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Re: News-Modul mit flexiblem "mehr"

Beitrag von mvf »

verstehe, da der phpcode im template nicht abgearbeitet wird, muss das dann wohl im modul passieren. :?
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

sorry falsches modul
Zuletzt geändert von mvf am Fr 16. Dez 2005, 22:34, insgesamt 1-mal geändert.
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

oh mann sorry aber heute geht hier alles schief.

newsmodul
ich bin die ganze zeit beim multiple article teaser

sorry alles retour
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

Code: Alles auswählen

			if (strlen(trim($teasertext)) == 0) {
				$teasertext = strip_tags($article->getContent('CMS_HTML', 1));
				$teasertext2 = $teasertext;
				$teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
				if ($teasertext!=$teasertext2) {
					$teasertext.= '...';
				}
hier muss man die längenabfrage bearbeiten denke ich :?
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Beitrag von kloevekorn »

mvf hat geschrieben:sorry falsches modul
gerade wollte ich fragen ;-) - ich meine das mitgelieferte News aus der 4.6.2.

super-danke, dass du hier noch am start bist.
kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Beitrag von kloevekorn »

korrektur: 4.6.4
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

Code: Alles auswählen

			if (strlen(trim($teasertext)) == 0) {
				$teasertext = strip_tags($article->getContent('CMS_HTML', 1));
				$teasertext2 = $teasertext;
				$teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
				if ($teasertext!=$teasertext2) {
					$teasertext.= '...';
				}
bin ja selber php noob aber

Code: Alles auswählen

				if ($teasertext!=$teasertext2) {
					$teasertext.= '...';
				}
checked ob $teasertext länger ist als der wirkliche text, und setzt dann ...

da muss man doch jetzt auch irgendiwe abfragen können wenn der $teasertext <= $teasertext2 dann keine ... und unten dann noch kein more
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Beitrag von kloevekorn »

Code:
if (strlen(trim($teasertext)) == 0) {
$teasertext = strip_tags($article->getContent('CMS_HTML', 1));
$teasertext2 = $teasertext;
$teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
if ($teasertext!=$teasertext2) {
$teasertext.= '...';
}


hier muss man die längenabfrage bearbeiten denke ich Confused
_________________

Ich bin leider nicht so schnell beim Durchblicken hier. Die Längenabfrage klappt ja. Aber das eigentliche Problem besteht doch, dass am Ende des Moduls immer More generiert wird. Und wenn man es weglässt, kommt eben der Platzhalter aus dem html-Template.

Eigentlich müsste man dort eingreifen. Gibt es nicht doch einen Trick, dort php zum laufen zu kriegen?
kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Beitrag von kloevekorn »

Bzw. man kann den kritischen Teil ja direkt aus dem Modul aufrufen, also nicht im html-template generieren.

Aber das würde ja nicht für jeden Artikel einzeln gehen, weil die ganze Seite erst ganz zum Schluss zusammengebastelt wird.

So wie ich das verstehe, jedenfalls. :roll:
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

pronier mal zu nächst nur die 3 ounkte weg zu bekommen wenn der text kürzer ist mit

Code: Alles auswählen

			if (strlen(trim($teasertext)) == 0) {
				$teasertext = strip_tags($article->getContent('CMS_HTML', 1));
				$teasertext2 = $teasertext;
				$teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
				if ($teasertext <= $teasertext2) {
					$teasertext.= '';
				} else {
               $teasertext.= '...';
            }
check mal ob dann die punkte bei kürzeren texten wegfallen
Zuletzt geändert von mvf am Fr 16. Dez 2005, 22:51, insgesamt 1-mal geändert.
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Beitrag von kloevekorn »

punkte weg
sind tatsächlich weg.
kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Beitrag von kloevekorn »

habe für den zweiten teil gerade einen php-fehler und finde ihn nicht so schnell - bin dran.
Gesperrt