Benutzer-Werkzeuge

Webseiten-Werkzeuge


joomla:multilang-content_title

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
joomla:multilang-content_title [11/09/2020 14:13] Manueljoomla:multilang-content_title [11/09/2020 14:40] (aktuell) Manuel
Zeile 3: Zeile 3:
 Wie erstelle ich Inhalts-Titel, die sich beim ändern der Sprache automatisch ändern? Wie erstelle ich Inhalts-Titel, die sich beim ändern der Sprache automatisch ändern?
  
-Prinzipiell ist es in Joomla möglich mehrsprachige Webseiten zu erstellen. Wenn man die Mehrsprachigkeit nach dem offiziellen Vorgehen erstellt (https://www.joomlashine.com/blog/create-multilingual-joomla-site.html), so erhält man mit aktivirtem SEF URLs, die sich für jede Sprache komplett unterscheiden.+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.
  
-Mit diesem Vorgehen ist es (zumindest für com_content) möglich eine mehrsprachige Webseite aufzubauen, dessen URLs sich nur im URL-Sprachkürzel unterscheiden.+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.
  
  
 ===== Vorgehen ===== ===== Vorgehen =====
  
-Alles wie im Blogpost von Joomlashine beschrieben, ausser Schritt 3, 7 und 8.+Alles wie im Blogpost von [[https://www.joomlashine.com/blog/create-multilingual-joomla-site.html|Joomlashine]] beschrieben, ausser Schritt 3, 7 und 8.
  
   * Es wird eine Kategorie mit einem alias für alle Sprachen erstellt.   * Es wird eine Kategorie mit einem alias für alle Sprachen erstellt.
   * Es wird ein Beitrag für alle Sprachen erstellt.   * Es wird ein Beitrag für alle Sprachen erstellt.
-  * Mithilfe eines Language Filter Plugins wird der Inhalt für jede Sprache im selben Beitrag erfasst. (https://extensions.joomla.org/extension/n3t-language-filter)+  * 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 "richtigen" Titel wird im Titel-Feld ein Sprachschlüssel eingegeben z.B TITLE_COMCONTENT_MEINTITEL   * Statt einem "richtigen" Titel wird im Titel-Feld ein Sprachschlüssel eingegeben z.B TITLE_COMCONTENT_MEINTITEL
-  * Für den Sprachschlüssel wird in jeder Sprache ein Sprach-Override erstellt+  * Für den Sprachschlüssel wird in jeder Sprache ein [[https://docs.joomla.org/J3.x:Language_Overrides_in_Joomla/de|Sprach-Override]] erstellt
   * Es müssen einige Overrides im Template vorgenommen werden, um die Sprachschlüssel im ganzen System korrekt auszutauschen   * Es müssen einige Overrides im Template vorgenommen werden, um die Sprachschlüssel im ganzen System korrekt auszutauschen
  
 +==== Overrides ====
 +
 +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 /templates/MeinTemplate/html/com_content/article/default.php>
 +
 +use Joomla\CMS\Language\Text;
 +
 +   // solches 
 +   $this->escape($this->item->title);
 +   
 +   // ändern zu
 +   Text::_($this->escape($this->item->title));
 +   
 +</file>
 +
 +<file php /templates/MeinTemplate/html/layouts/joomla/content/blog_style_default_item_title.php>
 +
 +use Joomla\CMS\Language\Text;
 +
 +   // solches 
 +   $this->escape($displayData->title);
 +   
 +   // ändern zu
 +   Text::_($this->escape($displayData->title));
 +   
 +</file>
 +
 +<file php /templates/MeinTemplate/html/plg_content_pagenavigation/default.php>
 +
 +use Joomla\CMS\Language\Text;
 +
 +   // solches 
 +   htmlspecialchars($rows[$location-1]->title);
 +   htmlspecialchars($rows[$location+1]->title);
 +   $row->prev_label;
 +   $row->next_label;
 +   
 +   // ändern zu
 +   Text::_(htmlspecialchars($rows[$location-1]->title));
 +   Text::_(htmlspecialchars($rows[$location+1]->title));
 +   Text::_($row->prev_label);
 +   Text::_($row->next_label);
 +   
 +</file>
 +
 +<file php /templates/MeinTemplate/html/mod_breadcrumbs/default.php>
 +
 +use Joomla\CMS\Language\Text;
 +
 +   // solches 
 +   $item->name;
 +   
 +   // ändern zu
 +   Text::_($item->name);
 +   
 +</file>
 +
 +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 <jdoc:include type="head" />.
 +
 +<file php /templates/MeinTemplate/index.php>
 +
 +use Joomla\CMS\Language\Text;
 +
 +   // Change meta <title>
 +   $this->title = Text::_($this->title);
 +   
 +</file>
  
  
joomla/multilang-content_title.1599826421.txt.gz · Zuletzt geändert: von Manuel