Ergebnis 1 bis 3 von 3

Thema: Falscher Titel+Alias im Link zum Startseiten-Fallback?

  1. #1
    Contao-Nutzer
    Registriert seit
    11.12.2012.
    Beiträge
    22

    Standard Falscher Titel+Alias im Link zum Startseiten-Fallback?

    Moin, folgendes Szenario:

    Contao 3.2.7 + changelanguage 2.2.1, zweisprachiges Projekt über eine Domain mit /de oder /en in der URL und eben dem Sprachwechsler. Es gibt Seiten, die es nur in einer Sprache gibt, also soll der Wechsler dort sinnvollerweise (und laut Doku) auf die Startseite linken als Fallback. Das wird auch versucht, aber irgendwie falsch, denn es wird der Titel und der Alias der Rootpage dafür genommen (Zeile 326/327):
    Code:
    $pageTitle = $arrRootPage['title'];
    $href = $this->generateFrontendUrl($arrRootPage, null, $arrRootPage['language']);
    Imho müsste aber doch auf die erste "Reguläre Seite" gelinkt werden, so wie Contao automatisch diese anzeigt bei leerer URL (ohne Parameter), und dort auch beim Sprachwechsler korrekt verlinkt. Die Verlinkung auf den Rootpage-Alias bringt nämlich nur einen 404er, was auch logisch ist, da nicht als reguläre Seite vorhanden (wenn den Alias "index" nennt, klappt es zwar, aber der Link-Titel ist immer noch falsch). Also habe ich den Code mal wie folgt ergänzt, sodass der Startseiten-Link korrekt wäre:
    Code:
    $objStartPage = $this->Database->prepare("SELECT * FROM tl_page WHERE pid=? AND type='regular' ORDER BY sorting LIMIT 1")
    			  ->execute($arrRootPage['id'])->fetchAssoc();
    
    if ($objStartPage) {
    	$objStartPage['language'] = $arrRootPage['language'];
    	$pageTitle = $objStartPage['title'];
    	$href = $this->generateFrontendUrl($objStartPage, null, $objStartPage['language']);
    } else {
    	$pageTitle = $arrRootPage['title'];
    	$href = $this->generateFrontendUrl($arrRootPage, null, $arrRootPage['language']);
    }
    Das funktioniert prima, wirkt aber irgendwie umständlich. Was meint ihr dazu? Der Umstand, dass sonst keiner dieses Problem hat, macht mich nämlich stutzig, denn die 404er fallen ja recht schnell auf beim Testen. Ist es einfach ein arger Denkfehler meinerseits, und wie würde man es denn sonst lösen?

    beste Grüße

  2. #2
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.619
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dass die Root-Page verwendet wird, ist eigentlich auch korrekt. Denn Contao leitet das Alias der Root-Page nämlich automatisch auf die erste Seite weiter. Einen 404 sollte es dafür nicht geben?
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  3. #3
    Contao-Nutzer
    Registriert seit
    11.12.2012.
    Beiträge
    22

    Standard

    Hi und danke für die Antwort!
    Einen 404 sollte es dafür nicht geben?
    Tja, tut's aber leider, außer man nimmt als Rootpage-Alias (in jeder Sprache) eben "index". Okay, aber das ist ja kein Problem, nur eben nirgendwo explizit erwähnt...
    Bleibt also nur noch die Kosmetik des Link-Titels (mouseover), und ich finde den pageTitle irgendwie sinnvoller, also:
    Code:
    $pageTitle = $arrRootPage['pageTitle'];
    Denn als "title" der RootPages wählt man doch am ehesten die Domainnamen, um bei vielen Domains den Überblick zu wahren, dachte ich? Im Backend wäre dies zumindest sinnvoll, aber als Link-Titel im Frontend eben nicht wirklich. Dort möchte ich evtl. "Startseite" stehen haben. Evtl. bin ich da aber auch etwas zu kleinlich, es fiel mir halt nur auf.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •