Contao 3: mehrere Neuigkeiten-Reader mit nur einem Archiv

Das Hauptproblem liegt darin, das man jedem Archiv eine Weiterleitungsseite zuordnen muss. Jetzt hat aber jede Sprache ihren eigenen Reader um zugewährleisten, dass man innerhalb der Sprache weiterhin bleibt. Versuche mit dem Modul newslanguage funktionierten nicht so ganz, was aber auch an mir bzw. der Version liegen kann. Nach mehreren Versuchen und nem Tip, es doch über die Templates der Erweiterung zu regeln habe ich es dann gelöst. Verbesserungsvorschläge sind gerne willkommen.

1. Jeder Reader Page einen nachvollziehbaren Alias eintragen: z.B. newstreader-de für deutsch usw.

2. Template anlegen für die Neuigkeiten Liste (z.B. news_latest) und ergänzen.

3. Den Ausgangslink ermitteln:

$standardLink = $this->link;

// checken, was für ein Link vorliegt
$extCheck = substr($standardLink, 0, 2);
switch($extCheck){
case "htt": $linkcheck = 1; //extern
break;
case "www": $linkcheck = 1; //extern
break;
default : $linkcheck = 2; // intern
}

4. Sprachauswahl checken

$language = $this->replaceInsertTags(' { { page::language } } '); //inserttag für Sprachwahlausgabe in php script einfügen
switch($language){
case "de": $langReader="newsreader-de"; // Teil des ReaderSite Alias, der ersetzt werden soll/kann - de=standard
$pmore ="weiterlesen";
break;
case "en": $langReader="newsreader-en";
$pmore ="read more";
break;
case "es": $langReader="newsreader-es";
$pmore ="leer más";
break;
case "pt": $langReader="newsreader-pt";
$pmore ="lire plus";
break;
}

5. Neuen Link generieren

if($linkcheck == 2){
$neuerLink = str_replace("newsreader-de",$langReader, $standardLink );
}else{
$neuerLink = $standardLink;
}

6. neuen Link ausgeben

<p class="more"><a href="<?php echo $neuerLink; ?>"><?php echo $pmore; ?></a></p>  

7. fertig, Einziges Manko: Die Sprachumschaltung auf der Reader Seite funktioniert natürlich so nicht, allerdings ist es unwahrscheinlich, dass dies benötigt wird. Wenn man darauf achtet, dass nur die englische Reader Seite indiziert wird in den Suchmaschinen ist dazu noch unwahrscheinlicher, dass jemand auf die reader Pages direkt geleitet wird geleitet wird.

Zurück

Einen Kommentar schreiben