Ergebnis 1 bis 7 von 7

Thema: Zwei Alias (DE und EN) in einem Datensatz definieren

  1. #1
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    502

    Standard Zwei Alias (DE und EN) in einem Datensatz definieren

    Ich hab mal wieder eine ist-das-irgendwie-möglich-Frage bei der ich um eure Hilfe bitte:

    Ich lege in einem Backend-Modul namens "Projekte" (erstellt mit dem Catalog Manager) diverse Felder in zwei Sprachen an:
    • Titel DE
    • Titel EN
    • Beschreibung DE
    • Beschreibung EN
    etc...

    Zusätzlich lege ich auch zwei Felder für das Alias in der URL an:
    • Alias DE
    • Alias EN


    Dieses Backendmodul wird als Auflistung und (auf einer separaten Seite) als Detailansicht eingebunden.
    Das ganze jeweils im deutschen und im englischen Seitenbaum.
    Also alles ganz Contao-typisch

    Im Template der Detailansicht kann ich die Felder wie Titel und Beschreibung dann so nach Sprachen getrennt ausgeben:
    Code:
    {{iflng::de}}<?= $this->titelDE{{iflng::en}}<?= $this->titelEN{iflng}}
    Funktioniert soweit.
    Aber wie schaffe ich es dass nun auch das Alias berücksichtig wird?

    D.h. dass ein Projekt im deutschen Seitenbaum so aufgerufen wird:
    company.at/de/projekte/deutscher-alias-des-projekts
    ... und im englischen so:
    company.at/en/projects/englischer-alias-des-projekts


    Ich kann natürlich im Template der Auflistung das hier angeben:
    Code:
    {{iflng::de}}
    <a href="www.company.at/de/projekte/<?= $this->aliasDE ?>" >Mehr zum Projekt</a>
    {{iflng::en}}
    <a href="www.company.at/en/projects/<?= $this->aliasEN ?>" >More about the project</a>
    {iflng}}
    ... aber ich nehme stark an dass die Seite mit der Detailansicht dann leer bleiben wird
    Wie mache ich Contao klar dass die beiden selbst angelegten Alias zur Detailansicht meines Datensatzes führen sollen?

    Mein Lösungsansatz:
    Die Datensätze haben ja einen Alias der ihnen von Geburt an mitgegeben wurde.
    Sozusagen der richtige Alias.

    D.h. ich habe eigentlich bei jedem Projekt drei Alias:
    - Der richtige: "projekt-xy"
    - Der selbst angelegte in DE: "projekt-xy-deutsch"
    - Der selbst angelegte in EN: "projekt-xy-englisch"

    Kann man im Reader-Template nun definieren dass Contao zu "projekt-xy" weiterleiten soll aber in der URL je nach Sprache "projekt-xy-deutsch" oder "projekt-xy-englisch" anzeigen soll?
    Oder gibt es für so eine Anforderung eine viel einfachere Lösung die ich nicht am Schirm habe.

    Bin dankbar für jede Hilfe!
    Muchas gracias schon mal


    PS:
    Hintergrund des ganzen ist dass der Kunde die Daten die in EN und DE bei jedem Projekt ident sind (wie zb. Bilder, etc.) nur einmal eingepflegt möchte.
    D.h. dass nicht zwei Datensätze für DE und EN erstellt werden müssen.
    Geändert von thesweetg (07.05.2022 um 10:50 Uhr)

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.094
    Partner-ID
    10107

    Standard

    Anstatt alle Felder zu doppeln könntest du es mit DC_Multilingual versuchen.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    502

    Standard

    @Spooky: Danke für den DC_Multilingual-Tip.
    Leider kapiere ich nicht ganz wie ich das einsetzen kann.

    Mein Ansatz wäre ja gewesen dass ich in diesem Reader-Template (oder Master-Template, wie es im Catalog-Manager heißt):
    ctlg_view_master_projects.html5
    ... die Sprache abfrage und dann die URL ändere.

    In etwa so:

    Code:
    if ($GLOBALS['TL_LANGUAGE'] == 'de') {
        // zeige das Projekt mit folgender Frontend-URL:
        // "www.myproject.com/de/projekte/" . $this->aliasDE
    } else {
        // zeige das Projekt mit folgender Frontend-URL:
        // "www.myproject.com/en/projects/" . $this->aliasEN
    }
    ... aber ich nehme an das ist nicht so einfach möglich :/

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.094
    Partner-ID
    10107

    Standard

    Zitat Zitat von thesweetg Beitrag anzeigen
    @Spooky: Danke für den DC_Multilingual-Tip.
    Leider kapiere ich nicht ganz wie ich das einsetzen kann.
    Sieh's dir am besten bei anderen Erweiterungen an, wie die das konfiguriert haben. Bspw. bei den News Categories: https://github.com/codefog/contao-ne....php#L246-L265
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    502

    Standard

    Verstehe ich das richtig:

    - diese Erweiterung legt dann jeweils zwei Datensätze für ein Projekt an (de und en)
    - verbunden sind diese beiden Datensätze durch die "langPid"
    - ich kann dann entweder den Datensatz de oder en bearbeiten
    - in der Backend-Listeansicht kann man dann nach der Sprache filtern

    ... passiert dieses Filtern in der Backend-Listeansicht dann automatisch?

    Ein Beispiel wie diese Erweiterung bei einem Catalog-Manager-Backend-Modul verwendet wurde gibts wahrscheinlich nicht, nehme ich an.

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.094
    Partner-ID
    10107

    Standard

    Nein, initial wird ganz normal ein Datensatz angelegt, das ist der Fallback. Dann hast du die Möglichkeit Sprach-spezifische Versionen zu erstellen, wo die definierten Felder übersetzt werden können. Das Model lädt dann automatisch diese Sprachversionen.


    Zitat Zitat von thesweetg Beitrag anzeigen
    Ein Beispiel wie diese Erweiterung bei einem Catalog-Manager-Backend-Modul verwendet wurde gibts wahrscheinlich nicht, nehme ich an.
    Achso, es geht um den Catalog Manager... da wird das vermutlich nicht gehen. Aber es gibt eine Anleitung, wie du Mehrsprachigkeit im Catalog Manager umsetzen kannst.
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    502

    Standard

    Ja, mit dem CatalogManager.
    Und ich hab den speziellen Fall dass der Kunde möchte dass beide Sprachen in einem Datensatz eingepflegt werden.
    D.h. vom Prinzip her so wie hier zu sehen:
    Bildschirmfoto 2022-05-19 um 14.32.51.png

    ... das funktioniert ja an sich super.
    Nur beim Thema Alias scheitere ich (wie oben beschrieben).

    Denn ich möchte ja dass ein Projekt (projekt-xy) über zwei Aliasse (project-xy-en, projekt-xy-de) erreichbar ist.

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
  •