Contao-Camp 2024
Ergebnis 1 bis 14 von 14

Thema: Mehrere Sprungziele aus einer Liste

  1. #1
    Contao-Fan Avatar von Net Cube
    Registriert seit
    27.01.2012.
    Ort
    Eutin
    Beiträge
    567

    Standard Mehrere Sprungziele aus einer Liste

    Hallo,

    ich habe mehrere Seiten mit der Detailausgabe.

    Nun habe ich aber nur eine List und müsste aus dieser zu unterschiedlichen Detailseiten springen.


    Beispiel:

    Liste

    Eintrag A = a/detail.html
    Eintrag A = a/detail.html
    Eintrag B = b/detail.html
    Eintrag A = a/detail.html
    Eintrag B = b/detail.html

    ich kann doch aber nur ein Sprungziel für eine Liste angeben.

    Daher "was ich hier auch schon in einen anderen Post angesprochen habe" wäre es doch besser, wenn ich das Alias aus mehreren Feldern mit einer Ordnerstruktur erstellen lassen kann.

    Derzeitig wird ein Alias aus mehreren Feldern nur mit ein Bindestrich verbunden.
    Wenn man nun aber sagen kann das nach Feld 1 ein / kommt und der Rest mit Bindestrich, ich also die Trennzeichen selber bestimmen kann das wäre dann doch viel Besser.

    Und dann müsste der Einstig für den Sprung immer meinedomain.de/ sein.

    Ich kann dann im Feld eins bei der Eingabe eine Auswahlliste machen und diese wäre dann das was vor dem / steht.

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Net Cube Beitrag anzeigen
    A: ich kann doch aber nur ein Sprungziel für eine Liste angeben.

    B: Daher "was ich hier auch schon in einen anderen Post angesprochen habe" wäre es doch besser, wenn ich das Alias aus mehreren Feldern mit einer Ordnerstruktur erstellen lassen kann.
    A: die URL für die Weiterleitung wird bis MM 2.1 nur dann erzeugt, wenn ein entsprechender Filter ausgewählt ist - in MM 2.2 geht das auch ohne.... aber ohne einen Filter werden nur reine URLs zu statischen Seiten von Contao gebaut - erst der Filter ergänzt das um die dynamischen Anteile...

    Deine Seite sieht sicher nicht so aus domain.tld/a/detail.html sondern eher domain.tld/projekte/unterseite/hier-wirds-interessant/a/detail.html

    wobei domain.tld/projekte/unterseite/hier-wirds-interessant.html die Seite von Contao wäre, in der die MM-Detailinfos angezeigt werden... die Seite domain.tld/projekte/unterseite/hier-wirds-interessant/a.html wird es sicher nicht geben ;-)

    somit wäre "a/detail" der Teil der die Inhalte auf ..hier-wirds-interessant.html filtert

    Entweder, du baust Dir eine solche Filterregel, die das baut oder erstellst die URLs nach eigenem Gusto im Template als Links und musst dann gucken, das jemand was damit anfangen kann - z.B. Filterregel "Eig. SQL"

    B: Nein!

  3. #3
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ansonsten gucke Dir mal den Linksplitter an:
    https://packagist.org/packages/do-wh...plitter-bundle

  4. #4
    Contao-Fan Avatar von Net Cube
    Registriert seit
    27.01.2012.
    Ort
    Eutin
    Beiträge
    567

    Standard

    Habe nun im Template metamodel_prerendered eine if Abfrage geschrieben und den Action Button rausgeschmissen

    Hier mein Beispiel:

    PHP-Code:
    $btyp $arrItem['text']['sw_boottyp']; 
        if (
    $btyp == "Segelyachten") {
            echo 
    '<a href="/segelyachten/yacht/'.$arrItem['text']['sw_alias'].'.html">Segelyacht</a>';
            }
        if (
    $btyp == "Motoryachten") {
            echo 
    '<a href="/motoryachten/yacht/'.$arrItem['text']['sw_alias'].'.html">Motoryachten</a>';
            } 

  5. #5
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    /segelyachten/yacht.html ist doch dein "echte" Contao-Seite und gefiltert wird auf Bootstyp...

    Weiterleitung auf /yacht.html + Filter "Bootstyp" mit Regel "Einfache Abfrage" inkl. URL-Prameter "typ" + "auto_item" sowie den Alias und fertig ist die Laube... wo ist da das Problem?

    ergibt
    yacht/segelyacht/alias/mein-alias.html
    yacht/motoryacht/alias/mein-alias.html

    Andere Variante:
    Deine Bootstypen sind sicher ein eigenes Model - da kannst Du ein Attribut Einfachauswahl [Select] auf tl_page hinzufügen und die Zielseite für den Bootstyp festlegen. In der Seite muss jeweils ein MM-Liste sein (am besten als Modul anlegen)

    In der MM-Liste der Detailseite hats Du einen Filter der auf key/value lauscht bei Dir yacht/'.$arrItem['text']['sw_alias']

    In der MM-Liste der Hauptseite holst Du über den [raw]-Knoten vom Bootstyp die Zielseite und baust damit Deinen Link auf ... würde aber Deine "handmade-Verknüpfung" eher mit

    PHP-Code:
    $page    = \PageModel::findByPK($pageId);
    $pageURL $page->getFrontendUrl('/yacht/' $arrItem['text']['sw_alias']); 
    austauschen...

  6. #6
    Contao-Fan Avatar von Net Cube
    Registriert seit
    27.01.2012.
    Ort
    Eutin
    Beiträge
    567

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    /segelyachten/yacht.html ist doch dein "echte" Contao-Seite und gefiltert wird auf Bootstyp...

    Weiterleitung auf /yacht.html + Filter "Bootstyp" mit Regel "Einfache Abfrage" inkl. URL-Prameter "typ" + "auto_item" sowie den Alias und fertig ist die Laube... wo ist da das Problem?

    ergibt
    yacht/segelyacht/alias/mein-alias.html
    yacht/motoryacht/alias/mein-alias.html

    Andere Variante:
    Deine Bootstypen sind sicher ein eigenes Model - da kannst Du ein Attribut Einfachauswahl [Select] auf tl_page hinzufügen und die Zielseite für den Bootstyp festlegen. In der Seite muss jeweils ein MM-Liste sein (am besten als Modul anlegen)

    In der MM-Liste der Detailseite hats Du einen Filter der auf key/value lauscht bei Dir yacht/'.$arrItem['text']['sw_alias']

    In der MM-Liste der Hauptseite holst Du über den [raw]-Knoten vom Bootstyp die Zielseite und baust damit Deinen Link auf ... würde aber Deine "handmade-Verknüpfung" eher mit

    PHP-Code:
    $page    = \PageModel::findByPK($pageId);
    $pageURL $page->getFrontendUrl('/yacht/' $arrItem['text']['sw_alias']); 
    austauschen...

    ergibt
    yacht/segelyacht/alias/mein-alias.html
    yacht/motoryacht/alias/mein-alias.html

    so sollen diese aber nicht aussehen
    sondern so
    daomain.de/segelyachten/yacht/yachtname.html
    daomain.de/motoryachten/yacht/yachtname.html

  7. #7
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    was von Deinenm URL-Aufbau ist/sind Deine Seite(n) in Contao und was soll Filterparameter sein?

  8. #8
    Contao-Fan Avatar von Net Cube
    Registriert seit
    27.01.2012.
    Ort
    Eutin
    Beiträge
    567

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    was von Deinenm URL-Aufbau ist/sind Deine Seite(n) in Contao und was soll Filterparameter sein?
    Nur Yachtname ist der Alias


    Das sind die Seiten
    domain.de/segelyachten/yacht/
    domain.de/motoryachten/yacht/

    Am liebsten hätte ich sogar nur

    domain.de/segelyachten/mein-alias.html
    domain.de/motoryachten/mein-alias.html

    Aber in domain.de/segelyachten/ und domain.de/motoryachten/ liegt ja schon die Liste.
    Oder geht das?

  9. #9
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Net Cube Beitrag anzeigen
    Am liebsten hätte ich sogar nur

    domain.de/segelyachten/mein-alias.html
    domain.de/motoryachten/mein-alias.html

    Aber in domain.de/segelyachten/ und domain.de/motoryachten/ liegt ja schon die Liste.
    Oder geht das?
    Wenn

    domain.de/segelyachten.html
    domain.de/motoryachten.html

    Deine Contao-Seiten sind, wo die MM-Listen liegen...

    wäre ein Filter auf Attribut Yacht dann per se

    domain.de/segelyachten/yacht/mein-alias.html
    domain.de/motoryachten/yacht/mein-alias.html

    als key/value für eine Filterregel (hier yacht/mein-alias)

    einen Key kannst du "ausblenden" mit URL-Parameter "auto_item" (kommt von Contao), so dass

    domain.de/segelyachten/mein-alias.html
    domain.de/motoryachten/mein-alias.html

    entsteht...

    Als Filterregel bietet sich hier "Einfache Abfrage" an - das Filtern kannst Du "zu Fuß" dann schonmal testen.

    Nun musst Du je Item noch den richtigen Link bauen - das würde ich wie oben beschrieben über die Kategorie (Segel, Motor) mit Auswahl der Zielseite dynamisch generieren.

    thats all!

  10. #10
    Contao-Fan Avatar von Net Cube
    Registriert seit
    27.01.2012.
    Ort
    Eutin
    Beiträge
    567

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    Wenn

    domain.de/segelyachten.html
    domain.de/motoryachten.html

    Deine Contao-Seiten sind, wo die MM-Listen liegen...

    wäre ein Filter auf Attribut Yacht dann per se

    domain.de/segelyachten/yacht/mein-alias.html
    domain.de/motoryachten/yacht/mein-alias.html

    als key/value für eine Filterregel (hier yacht/mein-alias)

    einen Key kannst du "ausblenden" mit URL-Parameter "auto_item" (kommt von Contao), so dass

    domain.de/segelyachten/mein-alias.html
    domain.de/motoryachten/mein-alias.html

    entsteht...

    Als Filterregel bietet sich hier "Einfache Abfrage" an - das Filtern kannst Du "zu Fuß" dann schonmal testen.

    Nun musst Du je Item noch den richtigen Link bauen - das würde ich wie oben beschrieben über die Kategorie (Segel, Motor) mit Auswahl der Zielseite dynamisch generieren.

    thats all!
    Ich glaub ich bin zu blöde

    Ich verstehe es nicht

    soll das Detail Modul auch in domain.de/segelyachten/ liegen oder in domain.de/segelyachten/yacht/?

  11. #11
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Net Cube Beitrag anzeigen
    soll das Detail Modul auch in domain.de/segelyachten/ liegen oder in domain.de/segelyachten/yacht/?
    das musst Du entscheiden, wie Du das aufbaust...

    Nach Deiner Beschreibung hast Du die Seiten domain.de/segelyachten/ liegen oder in domain.de/segelyachten/yacht/ nicht, sondern domain.de/segelyachten.html bzw. in domain.de/segelyachten/yacht.html

    Eine der beiden Varianten muss erstmal in Contao angelegt sein - z. B. domain.de/segelyachten.html ... wenn dort Dein CE MM-Liste für die Detailausgabe liegt, würde ohne Filter an der stelle nicht ein Item sondern alle ausgegeben werden... also muss ein Filterparameter der Seite übergeben werden.

    Der sitzt dann "zwischen dem n und dem Punkt" - dann sieht die URL erstmal so aus

    domain.de/segelyachten/alias/mein-alias-von-boot-marianne.html

    den Key "alias" kannst Du umbenennen zu yacht

    domain.de/segelyachten/yacht/mein-alias-von-boot-marianne.html

    oder in Contao ausblenden per "auto_item" - bleibt übrig

    domain.de/segelyachten/mein-alias-von-boot-marianne.html


    ... wo ist dabei Dein Problem konkret?

  12. #12
    Contao-Fan Avatar von Net Cube
    Registriert seit
    27.01.2012.
    Ort
    Eutin
    Beiträge
    567

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    Wenn

    domain.de/segelyachten.html
    domain.de/motoryachten.html

    Deine Contao-Seiten sind, wo die MM-Listen liegen...

    wäre ein Filter auf Attribut Yacht dann per se

    domain.de/segelyachten/yacht/mein-alias.html
    domain.de/motoryachten/yacht/mein-alias.html

    als key/value für eine Filterregel (hier yacht/mein-alias)

    einen Key kannst du "ausblenden" mit URL-Parameter "auto_item" (kommt von Contao), so dass

    domain.de/segelyachten/mein-alias.html
    domain.de/motoryachten/mein-alias.html

    entsteht...

    Als Filterregel bietet sich hier "Einfache Abfrage" an - das Filtern kannst Du "zu Fuß" dann schonmal testen.

    Nun musst Du je Item noch den richtigen Link bauen - das würde ich wie oben beschrieben über die Kategorie (Segel, Motor) mit Auswahl der Zielseite dynamisch generieren.

    thats all!
    Woher soll ich das denn bekommen? als key/value für eine Filterregel (hier yacht/mein-alias)


    /segelyachten hier liegt die Liste
    /segelyachten/yacht hier liegt die Detailseite

    in Metamodel gebe ich in der Rendereinstellung meiner Segelyachtenliste das sprungziel für die Details /segelyachten/yacht an

    Wie soll ich denn nun wieder /yacht wegbekommen?


    Gebe ich als Sprungziel /segelyachten an dann bekomme ich meinen gewünschten Pfad /segelyachten/mein-alias.html
    Aber erhalte dann die Liste und die Detailausgabe

    Oder kann ich hier nun sagen wenn Detail angezeigt dann Liste aus?

  13. #13
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Net Cube Beitrag anzeigen
    Woher soll ich das denn bekommen? als key/value für eine Filterregel (hier yacht/mein-alias)

    A:
    /segelyachten.html hier liegt die Liste
    /segelyachten/yacht.html hier liegt die Detailseite

    in Metamodel gebe ich in der Rendereinstellung meiner Segelyachtenliste das sprungziel für die Details /segelyachten/yacht an

    B:
    Wie soll ich denn nun wieder /yacht wegbekommen?


    Gebe ich als Sprungziel /segelyachten an dann bekomme ich meinen gewünschten Pfad /segelyachten/mein-alias.html
    Aber erhalte dann die Liste und die Detailausgabe

    C:
    Oder kann ich hier nun sagen wenn Detail angezeigt dann Liste aus?
    A: bitte genau beschreiben wie Dein usecase ist - hast Du nun .html oder nicht?!? Wie soll man ansonsten Deine "echten" Fehler finden?!?

    B: wenn /segelyachten/yacht.html Deine Detailseite ist, natürlich nicht!

    C: kann man so machen - kannst Du aber im BE nicht "zusammenklicken" - vondaher eher die Empfehlung es zu lassen oder die Sache beim MM-Support anzufragen


    ... mehr "Erklärungspfeile" habe ich nun zu dem Thema auch nicht mehr im Köcher

    Edit: Mit dem MM-Workshop zum Camp würde der Aufbau sicher klarer werden...

  14. #14
    Contao-Fan Avatar von Net Cube
    Registriert seit
    27.01.2012.
    Ort
    Eutin
    Beiträge
    567

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    A: bitte genau beschreiben wie Dein usecase ist - hast Du nun .html oder nicht?!? Wie soll man ansonsten Deine "echten" Fehler finden?!?

    B: wenn /segelyachten/yacht.html Deine Detailseite ist, natürlich nicht!

    C: kann man so machen - kannst Du aber im BE nicht "zusammenklicken" - vondaher eher die Empfehlung es zu lassen oder die Sache beim MM-Support anzufragen

    ... mehr "Erklärungspfeile" habe ich nun zu dem Thema auch nicht mehr im Köcher

    Edit: Mit dem MM-Workshop zum Camp würde der Aufbau sicher klarer werden...
    Ich bin nun dabei es selber zu schreiben.

    Soweit funktioniert es, dass ich alles auf der segelyachten und motoryachten ausgeben kann.

    ich schreibe nun nur noch, dass wenn die Details geladen werden, dass dann die Liste raus kommt und nicht angezeigt wird.
    Hierbei ändert sich auch der Alias und es wird dann segelyachten/yachtname.html ausgegeben.

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
  •