Danke für deinen Einsatz, aber so richtig haut das noch nicht hin. Nachdem ich die erste Zeile noch eingefügt habe, bekomme ich zumindest den gekürzten Teaser von dem Artikel, der schon einen Teaser hat.
PHP-Code:
<?php
$text= $this->teaser;
if (strlen($this->teaser) == 0){ //Kein Teaser also Artikel kürzen
$output = strip_tags(substr($text, 0, strpos($this->article," ",300)))." …";
}elseif (strlen($this->teaser) > 300){// Teaser länger als 300 Zeichen. Also kürzen.
$output = strip_tags(substr($text, 0, strpos($text," ",300)))." …";
}else{// Teaser ist kürzer als 300 Zeichen
$output = $this->teaser . ' ';
}
print $output;
?>
Teaser mit weniger Wörter werden auch angezeigt.
Der Artikel ohne Teaser bekommt hier nur die Punkte " …", aber der Inhalt fehlt. Wahrscheinlich fehlt nicht viel, auch hier habe ich wieder alles mögliche probiert, aber ich muss die Fahnen strecken... vielleicht hat jemand den Fehler im Blick?
Ich bekomme übrigens folgende Fehlermeldung:
Code:
Warning: strpos() [function.strpos]: Offset not contained in string in /Applications/MAMP/htdocs/meineSeite/templates/mod_article_teaser.html5 on line 12
#0 [internal function]: __error(2, 'strpos() [parse()
#4 /Applications/MAMP/htdocs/meineSeite/system/modules/frontend/Module.php(157): FrontendTemplate->parse()
#5 /Applications/MAMP/htdocs/meineSeite/system/modules/frontend/ModuleArticle.php(71): Module->generate()
#6 /Applications/MAMP/htdocs/meineSeite/system/libraries/Controller.php(443): ModuleArticle->generate(false)
#7 /Applications/MAMP/htdocs/meineSeite/system/libraries/Controller.php(307): Controller->getArticle('113', true, false, 'main')
#8 /Applications/MAMP/htdocs/meineSeite/system/modules/frontend/PageRegular.php(100): Controller->getFrontendModule('0', 'main')
#9 /Applications/MAMP/htdocs/meineSeite/index.php(266): PageRegular->generate(Object(DB_Mysql_Result))
#10 /Applications/MAMP/htdocs/meineSeite/index.php(401): Index->run()
#11 {main}
…
Besten Dank!
Lesezeichen