Seite 2 von 3

Verfasst: Fr 16. Dez 2005, 22:54
von mvf
kloevekorn hat geschrieben:
punkte weg
sind tatsächlich weg.
fein dann jetzt (letztes post habe ich nochmal den unteren teil enfernt war murx :) ) hier jetzt auch oben och ne temp variable

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 {
               $temp_teasertext = $teasertext;
               $teasertext.= '...';
            } 
				
			} // end if   			

			$teasertext = $teasertext."&nbsp;".$next;

			$tpl->set('d', 'HEADLINE', $teaserheadline);
			$tpl->set('d', 'TEXT', $teasertext);
			$tpl->set('d', 'HREF', $href);
			$tpl->set('d', 'IMG', $teaser_img);
			
			if ($teasertext2 > $temp_teasertext) {
            $tpl->set('d', 'MORE', mi18n("mehr"));
            } 

			$tpl->next();

Verfasst: Fr 16. Dez 2005, 23:00
von kloevekorn
Das "mehr" ist immer da.

Wenn ein Artikel keinen Inhalt hat, steht da der Platzhalter {MORE}

Verfasst: Fr 16. Dez 2005, 23:01
von mvf
probier mal

Code: Alles auswählen

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

			$teasertext = $teasertext."&nbsp;".$next;

			$tpl->set('d', 'HEADLINE', $teaserheadline);
			$tpl->set('d', 'TEXT', $teasertext);
			$tpl->set('d', 'HREF', $href);
			$tpl->set('d', 'IMG', $teaser_img);
			
			if ($teasertext2 > $teasertext) {
            $tpl->set('d', 'MORE', mi18n("mehr"));
            } 

			$tpl->next();

Verfasst: Fr 16. Dez 2005, 23:02
von kloevekorn
ich glaube, ohne das html-template anzufassen, wird das nichts. Die Funktionalität kann man ganz klar im Modul abbilden. Aber das {MORE} wird man so nicht los.

Man muss irgendwie eine Überprüfung im Template durchführen können.

Verfasst: Fr 16. Dez 2005, 23:04
von kloevekorn
erfasst am: Fr Dez 16, 2005 11:01 pm Titel: Antworten mit Zitat
probier mal

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

} // end if

$teasertext = $teasertext."&nbsp;".$next;

$tpl->set('d', 'HEADLINE', $teaserheadline);
$tpl->set('d', 'TEXT', $teasertext);
$tpl->set('d', 'HREF', $href);
$tpl->set('d', 'IMG', $teaser_img);

if ($teasertext2 > $teasertext) {
$tpl->set('d', 'MORE', mi18n("mehr"));
}

$tpl->next();

_________________
Grüsse, Guido[/code]

Nur die Platzhalter MORE[/code]

Verfasst: Fr 16. Dez 2005, 23:05
von mvf
neuer versuch:

Code: Alles auswählen

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

			$teasertext = $teasertext."&nbsp;".$next;

			$tpl->set('d', 'HEADLINE', $teaserheadline);
			$tpl->set('d', 'TEXT', $teasertext);
			$tpl->set('d', 'HREF', $href);
			$tpl->set('d', 'IMG', $teaser_img);
			
			if (($teasertext2 > $temp_teasertext) {
            $tpl->set('d', 'MORE', mi18n("mehr"));
            } 

			$tpl->next();

Verfasst: Fr 16. Dez 2005, 23:08
von mvf
kloevekorn hat geschrieben:ich glaube, ohne das html-template anzufassen, wird das nichts. Die Funktionalität kann man ganz klar im Modul abbilden. Aber das {MORE} wird man so nicht los.

Man muss irgendwie eine Überprüfung im Template durchführen können.
glaube ich nicht denn wenn man im template ein {img} hat und keines mitgegeben weir, sollte da auch kein leerer platzhalter erscheinen.

da wo wir murxen passt des schon mas muss nur sehen dass man deas template set für more rauskriegt. pack doch mal in das template ine {Hallo}

ob das was beinflusst dann weist du es wei ein hallo wird nicht mitgegeben ;) aber ich bin eben auch newbie und probieren geht über studieren

Verfasst: Fr 16. Dez 2005, 23:09
von kloevekorn
Wahnsinniger :wink: (danke, wie du dich reinkniest)

Die Unterscheidung langer/kurzer Artikel klappt .... aber das MORE ... still there.

Das Modul wäre so wohl ok. Aber man muss an die Templates. Vielleicht hat ja noch jemand ne Idee, wie man die Platzhalter zu fassen kriegt.

Verfasst: Fr 16. Dez 2005, 23:12
von kloevekorn
da wo wir murxen passt des schon mas muss nur sehen dass man deas template set für more rauskriegt. pack doch mal in das template ine {Hallo}

ob das was beinflusst dann weist du es wei ein hallo wird nicht mitgegeben Wink aber ich bin eben auch newbie und probieren geht über studieren
Klar wird da Hallo ausgegeben, die Namen für die Platzhalter können frei vergeben werden.[/quote]

Verfasst: Fr 16. Dez 2005, 23:12
von mvf
ob das was beinflusst dann weist du es wei ein hallo wird nicht mitgegeben ;) aber ich bin eben auch newbie und probieren geht über studieren
muss mich korrigieren, da steht dann {IMG}

:(


dannmuss das mor aus dem template raus un mit in den teasertext rein, also wenn der orgtext länger ist dann soll teasertext= anzahl gesetzter wörter und danach noch ein leerzeichen die 3 ... und dann wieder ein leerzeichenund des more

des sollte dann gehen

Verfasst: Fr 16. Dez 2005, 23:14
von mvf
try

Code: Alles auswählen

         if (strlen(trim($teasertext)) == 0) {
            $teasertext = strip_tags($article->getContent('CMS_HTML', 1));
            $teasertext2 = $teasertext;
            $teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
            if ($teasertext2 > $teasertext) {
               $teasertext.= ' ... ' .  mi18n("mehr");
            } 
				
			} // end if   			

		

			$tpl->set('d', 'HEADLINE', $teaserheadline);
			$tpl->set('d', 'TEXT', $teasertext);
			$tpl->set('d', 'HREF', $href);
			$tpl->set('d', 'IMG', $teaser_img);
			
			$tpl->next();
und des more erst mal raus aus dem template

um den anker/link kümmern wir uns wenn die anzeige passt

Verfasst: Fr 16. Dez 2005, 23:16
von kloevekorn
mvf hat geschrieben:

dannmuss das mor aus dem template raus un mit in den teasertext rein, also wenn der orgtext länger ist dann soll teasertext= anzahl gesetzter wörter und danach noch ein leerzeichen die 3 ... und dann wieder ein leerzeichenund des more

des sollte dann gehen
Richtig, aber ist es nicht so, dass die ganze Seite ganz zum Schluss komplett generiert wird mit allen Artikeln. Will sagen, es gibt keine Schleife mehr, in die man aus dem Modul was zwischen die Artikel schreiben könnte:

Code: Alles auswählen

} // end for

		$tpl->generate('templates/'.$template);


	}
	
}
?>
Oder habe ich das falsch verstanden?

Verfasst: Fr 16. Dez 2005, 23:17
von mvf
??? immer nur des snippet ersetzen darunte bleibt alles schpn stehen ???

hier mal das ganze ende ab eben dem if

Code: Alles auswählen

                 if (strlen(trim($teasertext)) == 0) {
            $teasertext = strip_tags($article->getContent('CMS_HTML', 1));
            $teasertext2 = $teasertext;
            $teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
            if ($teasertext2 > $teasertext) {
               $teasertext.= ' ... <a href="'.$href.'" style="color:rgb(190,190,190);">'.mi18n("mehr").'</a>';
            }
            
         } // end if            

      

         $tpl->set('d', 'HEADLINE', $teaserheadline);
         $tpl->set('d', 'TEXT', $teasertext);
         $tpl->set('d', 'HREF', $href);
         $tpl->set('d', 'IMG', $teaser_img);
         
         $tpl->next();

		} // end for

		$tpl->generate('templates/'.$template);

	}
}
?>
editiert neue variante mit link

Verfasst: Fr 16. Dez 2005, 23:20
von kloevekorn
mvf hat geschrieben:??? immer nur des snippet ersetzen darunte bleibt alles schpn stehen ???

hier mal das ganze ende ab eben dem if

Code: Alles auswählen

         if (strlen(trim($teasertext)) == 0) {
            $teasertext = strip_tags($article->getContent('CMS_HTML', 1));
            $teasertext2 = $teasertext;
            $teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
            if ($teasertext2 > $teasertext) {
               $teasertext.= ' ... ' .  mi18n("mehr");
            }
            
         } // end if            

      

         $tpl->set('d', 'HEADLINE', $teaserheadline);
         $tpl->set('d', 'TEXT', $teasertext);
         $tpl->set('d', 'HREF', $href);
         $tpl->set('d', 'IMG', $teaser_img);
         
         $tpl->next();

		} // end for

		$tpl->generate('templates/'.$template);

	}
}
?>
??????? worauf willst du hinaus?

Verfasst: Fr 16. Dez 2005, 23:23
von mvf
kloevekorn hat geschrieben:??????? worauf willst du hinaus?
schau mal oben meinen letzten code, den habe ich editiert, + link

dann nimm den link mit dem {MORE} aus dem template und guck oben.

wenn der orgtext länger ist dann wird der link samt more an die $teasertext gehangen ansonsten nicht

das ist mein ansatz