joomla:multilang-content_title
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| joomla:multilang-content_title [11/09/2020 12:34] – Externe Bearbeitung 127.0.0.1 | joomla:multilang-content_title [11/09/2020 14:40] (aktuell) – Manuel | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Joomla - Router | + | ====== Joomla - Content - Titel ====== |
| - | Wie erstelle ich einen Router für die eigene Komponente? | + | Wie erstelle ich Inhalts-Titel, |
| - | Das Routing ersetzt | + | Prinzipiell ist es in Joomla möglich mehrsprachige Webseiten zu erstellen. Wenn man die Mehrsprachigkeit nach dem offiziellen Vorgehen erstellt, so erhält man mit aktivirtem SEF, URLs die sich für jede Sprache komplett unterscheiden. |
| - | In Joomla existieren zwei Ansätze, wie ein Router aufgebaut werden kann. Zum einen gibt es den neuen View-Based Router, welcher das Verhalten der Joomla-Core Komponenten nachzustellen vermag. Zum anderen gibt es den Legacy Router, mit welchem man jedes beliebige Verhalten bauen kann. | + | Mit diesem Vorgehen ist es möglich (zumindest für com_content) eine mehrsprachige Webseite aufzubauen, dessen URLs sich nur im URL-Sprachkürzel unterscheiden. |
| - | Weitere Infos: | ||
| - | https:// | ||
| + | ===== Vorgehen ===== | ||
| - | ===== Neuer Router (View-Based) ===== | + | Alles wie im Blogpost von [[https:// |
| - | Seit Joomla 3.8 gibt es eine neue Router-Klasse, | + | * Es wird eine Kategorie mit einem alias für alle Sprachen erstellt. |
| + | * Es wird ein Beitrag für alle Sprachen erstellt. | ||
| + | * Mithilfe eines [[https://extensions.joomla.org/extension/n3t-language-filter|Language Filter Plugins]] wird der Inhalt für jede Sprache im selben Beitrag erfasst. | ||
| + | * Statt einem " | ||
| + | * Für den Sprachschlüssel wird in jeder Sprache ein [[https:// | ||
| + | * Es müssen einige Overrides im Template vorgenommen werden, um die Sprachschlüssel im ganzen System korrekt auszutauschen | ||
| - | Weitere Infos: | + | ==== Overrides ==== |
| - | https:// | + | |
| + | Alle Ausgaben des Beitrag-Titels müssen durch die Text handling class Joomla\CMS\Language\Text (ehemals JText) geschleust werden, damit die Sprachschlüssel ersetzt werden. | ||
| - | <file php router.php> | + | <file php /templates/MeinTemplate/html/ |
| - | <?php | + | |
| - | public function __construct($app = null, $menu = null) | + | use Joomla\CMS\Language\Text; |
| - | { | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | Text::_($this->escape($this->item-> |
| - | | + | |
| - | + | ||
| - | | + | |
| - | // be reached via a category view, you then have to define the parent view | + | |
| - | // of $view. | + | |
| - | $article = new RouterViewConfiguration(' | + | |
| - | $article-> | + | |
| - | | + | |
| - | + | ||
| - | parent:: | + | |
| - | + | ||
| - | // implements the Itemid lookup for your router | + | |
| - | $this->attachRule(new MenuRules($this)); | + | |
| - | + | ||
| - | // implements the current behavior of the Joomla core components | + | |
| - | $this->attachRule(new StandardRules($this)); | + | |
| - | + | ||
| - | // implements the behavior when no Itemid is present after the Itemid lookup | + | |
| - | | + | |
| - | } | + | |
| </ | </ | ||
| + | <file php / | ||
| + | use Joomla\CMS\Language\Text; | ||
| + | // solches | ||
| + | | ||
| + | |||
| + | // ändern zu | ||
| + | | ||
| + | |||
| + | </ | ||
| + | |||
| + | <file php / | ||
| + | |||
| + | use Joomla\CMS\Language\Text; | ||
| + | |||
| + | // solches | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | // ändern zu | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | </ | ||
| + | |||
| + | <file php / | ||
| + | |||
| + | use Joomla\CMS\Language\Text; | ||
| + | |||
| + | // solches | ||
| + | | ||
| + | |||
| + | // ändern zu | ||
| + | | ||
| + | |||
| + | </ | ||
| + | |||
| + | Zuguter letzt muss noch der Seitentitel in den medataten des headers geändert werden. Dazu in der index.php des Templates folgendes einfügen. Einfügen irgendwo vor der Zeile < | ||
| + | |||
| + | <file php / | ||
| + | |||
| + | use Joomla\CMS\Language\Text; | ||
| + | |||
| + | // Change meta < | ||
| + | | ||
| + | |||
| + | </ | ||
| - | ===== Legacy Router (Custom) ===== | ||
joomla/multilang-content_title.1599820498.txt.gz · Zuletzt geändert: von 127.0.0.1