Einleitungstextlimit für Joomla 3 - auto readmore

blog view

Auf Seiten, die nur den Einleitungstext und das Einleitungsbild von Beiträgen anzeigen sollen (Menueintragstyp: Haupteinträge, Kategorieblog), ist oft eine konsistente Darstellung mit gleicher Textlänge erwünscht. Den "Weiterlesen Tag" im Beitrag immer manuell an gleiche Stelle zu setzen, ist unpraktisch und fehleranfällig.

Das Joomla Modul "Beiträge - Kategorie" bietet im Tab "Anzeige" die Option das Einleitungstextlimit festzulegen. Dadurch wird der Beitragstext nach gewählter Zeichen Anzahl abgeschitten (truncate) und der "Weiterlesen" Button automatisch gesetzt.

In den Menueintragstypen für Blogansicht fehlt diese praktische Möglichkeit, kann aber mit diesen Overrides nachgerüstet werden:

Neuer Menueintragstyp per Override

Ein Override wird normalerweise verwendet um die vorhandene Ansicht des Menueintragstyps zu ersetzen. Wenn ein zusätzlicher Menueintragstyp erstellt werden soll, geht man so vor:

Neuer Eintragstyp aus Beiträge -> Haupteinträge

Alle vier Dateien aus
components/com_content/views/featured/tmpl
werden kopiert nach
templates/dein-Template/html/com_content/featured
und dann umbenannt:

default.php -> featured-autoreadmore.php
default.xml -> featured-autoreadmore.xml
default_item.php -> featured-autoreadmore_item.php
default_links.php -> featured-autoreadmore_links.php

Änderungen in featured-autoreadmore.xml

In Zeile 3:

<layout title="COM_CONTENT_FEATURED_VIEW_DEFAULT_TITLE" option="COM_CONTENT_FEATURED_VIEW_DEFAULT_OPTION">
ersetzen mit:
<layout title="Haupteinträge Auto Read More" option="COM_CONTENT_FEATURED_VIEW_DEFAULT_OPTION">

Der layout title kann auch ein neuer language_tag sein, dann die Sprachdateien ergänzen.

Neues Optionsfeld 

In Zeile 14 beginnt das fieldset name="advanced", irgendwo im Set diesen Tag einfügen:

<field name="maxtext" type="text" label="Weiterlesen nach Zeichen:" default="500" description="Der Einleitungstext wird auf diese Zeichenanzahl beschränkt" filter="integer" />

Im Backend sieht das jetzt so aus:

featured readmore

Optionsfeld:

readmore field

Änderungen in featured-autoreadmore_item.php

In ca. Zeile 71 finden wir den introtext:

<?php echo $this->item->introtext; ?>

Direkt davor diese php Anweisung zum Textkürzen einfügen:

 <?php
$charcount = $params->get('maxtext', '500');
$introtext = strip_tags($this->item->introtext);
if(strlen($introtext) > $charcount) {
$introtext = $introtext." ";
$introtext = substr($introtext,0,$charcount);
$introtext = substr($introtext,0,strrpos($introtext,' '));
if($charcount != 0) {
$introtext = $introtext." [...]";
}
}
echo $introtext; ?>

Zusätzlich ist es möglich, den readmore link auf das Einleitungsbild oder den string [...] zu legen

Eine Anleitung für den Menueintragstyp Beiträge Kategorieblog in Englisch: cmsenergizer.com

Hier wird zusätzlich eine Methode zum Einpassen der Einleitungsbilder vorgestellt.

Tags: Joomla

Kommentar schreiben


Sicherheitscode
Aktualisieren

FacebookTwitterDiggGoogle BookmarksTechnoratiLinkedin