Ergebnis 1 bis 13 von 13

Thema: generateFrontendUrl in Contao 3.1.0

  1. #1
    Contao-Nutzer Avatar von loadbrain
    Registriert seit
    25.03.2011.
    Beiträge
    51

    Frage generateFrontendUrl in Contao 3.1.0

    Hallo,
    ich habe ein Problem mit meinem Modul RWCards
    Bisher habe ich die URLs um von einer Seite zur nächsten zu gelangen mittels generateFrontendUrl erstellt, i.d.A.:
    Code:
    $this->generateFrontendUrl(array(),  $this->alias . '/view/rwconecategory/category_id/' . $this->categories[$i]['id'] . '/reWritetoSender/' . $this->reWritetoSender . '/reWritetoSenderId/' . $this->data[$i]['id'] . '/sessionId/' . $this->sessionId. '/' . $this->alias)
    da kam dann sowas raus bei:
    http://localhost/contao-31/rwcards/v...//rwcards.html

    Das hat bisher auch immer wunderbar funktioniert, aber jetzt wollte ich das Modul für 3.1.0 testen, die URLs funktionieren nicht mehr, ich werde immer auf die Startseite verwiesen, i.d.F, http://localhost/contao-31/

    Hat sich da was geändert, so weit ich erkennen kann nicht?
    Kann mir jemand einen Tipp geben, bin im Moment ratlos...

  2. #2
    Contao-Fan Avatar von bekanntmacher
    Registriert seit
    13.08.2009.
    Ort
    St. Gallen, Schweiz
    Beiträge
    354
    Partner-ID
    6419

    Standard

    Ich kann nicht so ganz nachvollziehen warum du ein leeres array übergibst?

    Schau mal hier: http://api.contao.org/v3/classes/Con...ateFrontendUrl

  3. #3
    Contao-Nutzer Avatar von loadbrain
    Registriert seit
    25.03.2011.
    Beiträge
    51

    Standard

    Naja, bisher ging das immer... ;-)
    Was genau soll denn in das Array rein?
    An array of page parameters
    , was genau habe ich darunter zu verstehen?
    Kannst Du mir ein Bsp. geben?

  4. #4
    Contao-Nutzer Avatar von loadbrain
    Registriert seit
    25.03.2011.
    Beiträge
    51

    Standard

    Habe jetzt auch folgendes versucht:
    Code:
    $objPage = $this->Database->prepare('SELECT * FROM tl_page WHERE id=?')->execute($intParent);
    Dann habe ich ein Array $objPage->row, aber hilft auch nicht...

  5. #5
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    Hast du die Weiterleitungsurl im Modul definiert?
    Dann kannst du es so machen:

    PHP-Code:
    $objP $this->getPageDetails($this->jumpTo);
    $url $this->generateFrontendUrl($objP->row()); 

  6. #6
    Contao-Nutzer Avatar von loadbrain
    Registriert seit
    25.03.2011.
    Beiträge
    51

    Standard

    Tut mir Leid, ich verstehe nicht was Du mit
    Weiterleitungsurl im Modul definiert
    meinst...
    Was genau ist das, wie geht das?

  7. #7
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    Ich kenne deine Erweiterung nicht. Häufig legt man ja an einer Stelle eine Weiterleitungsurl fest (siehe z.B. News->Reader).
    Im Frontend-Modul nimmst du dafür einfach das Feld jumpTo (ist schon definiert). Du brauchst es nur deiner Palette hinzufügen.

    Wohin soll denn dein generierter Link hinleiten?
    Wenn du die gleiche Seite mit Parameter aufrufen willst, kannst du das mit

    PHP-Code:
    global $objPage;
    $url $this->generateFrontendUrl($objPage->row(),...); 
    machen.

  8. #8
    Contao-Nutzer Avatar von loadbrain
    Registriert seit
    25.03.2011.
    Beiträge
    51

    Standard

    Genau, die gleiche Seite mit Parametern, also der Link sieht so aus
    Code:
    http://localhost/contao-31/rwcards/view/rwconecategory/category_id/1/reWritetoSender/0/reWritetoSenderId//sessionId//rwcards.html
    Es werden also Parameter übergeben (z.B. category_id=1), die view nennt sich rwconecategory, ich lande aber immer auf der Startseite, also http://localhost/contao-31/...

    Mein Code sieht jetzt so aus:
    Code:
    $this->generateFrontendUrl($objPage->row(), '/view/rwconecategory/category_id/' . $this->categories[$i]['id'] . '/reWritetoSender/' . $this->reWritetoSender . '/reWritetoSenderId/' . $this->data[$i]['id'] . '/sessionId/' . $this->sessionId . '/' .  $this->alias);?>

  9. #9
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard

    Weil du das so nicht geschrieben hast.
    global $objPage hast du aber auch vorher gemacht?

  10. #10
    Contao-Nutzer Avatar von loadbrain
    Registriert seit
    25.03.2011.
    Beiträge
    51

    Standard

    Ja, habe ich.
    $objP->row() gibt es auch, aber nichts geht... :-(
    Geändert von loadbrain (23.05.2013 um 11:38 Uhr)

  11. #11
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.521
    User beschenken
    Wunschliste

    Standard

    Im Prinzip will er da ein Array aus id und alias haben.
    Ich hatte das mal per Hand getan, weil ich im Backend eine Frontend URL brauchte:
    PHP-Code:
    //Banner Ziel per Page?
    if ($row['banner_jumpTo'] >0)
    {
        
    //url generieren
        
    $objBannerNextPage $this->Database->prepare("SELECT id, alias FROM tl_page WHERE id=?")
                                            ->
    limit(1)
                                            ->
    execute($row['banner_jumpTo']);
        if (
    $objBannerNextPage->numRows)
        {
            
    $row['banner_url'] = $this->generateFrontendUrl$objBannerNextPage->fetchAssoc() );
        }

    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  12. #12
    Contao-Nutzer Avatar von loadbrain
    Registriert seit
    25.03.2011.
    Beiträge
    51

    Standard

    Ok, das habe ich ja mittlerweile.
    Rufe ich $this->generateFrontendUrl($objPage->row()); auf, so klappt das in so fern auch, dass ich dann auf mich selbst verlinke.
    Ich will ja aber eine Seite weiter, also z.B. die Übersicht zeigt Bilder, klicke ich auf ein Bild komme ich auf die nächste Seite mit Bild und Beschreibung, klicke ich dann auf einen Button komme ich z.B. auf eine Seite mir Formular etc...
    Bisher hatte ich den Link eben so
    Code:
    http://localhost/contao-31/rwcards/view/rwconecategory/category_id/1/reWritetoSender/0/reWritetoSenderId//sessionId//rwcards.html
    aber das führ mit imme rnur auf die Startseite.
    Ich frage mich vor allem warum das in Contao 2.x und 3.0.x geht und jetzt nicht mehr...

  13. #13
    Contao-Nutzer Avatar von loadbrain
    Registriert seit
    25.03.2011.
    Beiträge
    51

    Standard

    Ok, habe mittlerweile rausgefunden, wenn ich die URL i.d.F.
    Code:
    http://localhost/contao-31/rwcards.html?view=rwconecategory&category_id=1&reWritetoSender=0&reWritetoSenderId=&sessionId=
    übergebe, dann geht es...
    Aber schön ist das natürlich nicht...

    Oder wie macht Ihr das wenn Ihr Parameter über die URL weitergebt?

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
  •