Ist kein Teaser gewählt, wird in sechs mal das leere Teaser-Template ausgegeben, welches lediglich den Text "More" oder falls nicht in in dem Modul übersetzt "Module Translation not found: MORE »– ausgegeben.
In 4.8.19 dürfte dass relativ simpel über eine SMARTY-If-Abfrage abzufangen sein, so das das gesamte Template nicht ausgegeben wird wenn weder Titel, Text, noch Bild im Teaser gewählt wurde.
Blau markiertes war eine falsche Annahme von mir. Die SMARTY-IF-Anweisungen funktionieren nur in den Style→Modul→Modulname→HTML-Bereichen. Die Templates die hier genutzt werden befinden sich aber unter Style→Modul→HTML, dort funktioniert die SMARTY-Syntax nicht (was mir leider erst später aufgefallen ist)
Aus diesem Grund hier eine Verbesserung:
In der Datei: contenido/classes/content_types/class.content.type.teaser.php:
Ab Zeile 313:
Code: Alles auswählen
foreach ($artCollector as $article) {
if ($returnAsArray == true) {
array_push($articles, $article);
} else {
$this->_fillTeaserTemplateEntry($article, $template);
}
}
Code: Alles auswählen
foreach ($artCollector as $article) {
$title = trim($this->_getArtContent($article, $this->_settings['teaser_source_head'], $this->_settings['teaser_source_head_count']));
$text = trim($this->_getArtContent($article, $this->_settings['teaser_source_text'], $this->_settings['teaser_source_text_count']));
$imageId = trim($this->_getArtContent($article, $this->_settings['teaser_source_image'], $this->_settings['teaser_source_image_count']));
if(!empty($title) || !empty($text)|| !empty($imageId)){
if ($returnAsArray == true) {
array_push($articles, $article);
} else {
$this->_fillTeaserTemplateEntry($article, $template);
}
}
}
folgendes:
Code: Alles auswählen
if ($returnAsArray == false && file_exists($this->_cfgClient[$this->_client]['path']['frontend'] . 'templates/' . $this->_settings['teaser_style'])) {
Code: Alles auswählen
if ($returnAsArray == false && file_exists($this->_cfgClient[$this->_client]['path']['frontend'] . 'templates/' . $this->_settings['teaser_style']) && count($template->Dyn_replacements) > 0) {