Contao-Konferenz 2024
Ergebnis 1 bis 7 von 7

Thema: generateFrontendUrl mit Parameter - Seite wird nicht gefunden

  1. #1
    Contao-Nutzer Avatar von jenny89
    Registriert seit
    31.03.2014.
    Ort
    Münster
    Beiträge
    21

    Standard generateFrontendUrl mit Parameter - Seite wird nicht gefunden

    Guten Abend,

    ich sitzte jetzt schon den ganzen Tag an ein Problem mit "generateFrontendUrl". Meine Contaoversion ist 3.2.9

    Ich habe eine Liste, mit der ich auf eine Detailseite weiterleiten möchte. Für die Liste habe ich ein Modul erzeugt, in dem ich die Weiterleitungsseite angeben kann. Die Weiterleitungsseite habe ich auch angelegt. Es wird mir die URL auch richtig angezeigt, nur wenn ich auf den Link klicke kommt die Meldung "Seite nicht gefunden". Muss ich noch was besonderes einstellen, damit die Weiterleitungsseite angezeigt wird, bzw. das die Parameter erkannt werden.
    Die Listenseite lautet: mitarbeiter.html
    Die Weiterleitungsseite lautet: mitarbeiter/info.html
    die Parameter für generateFrontendUrl lauten: /detail/name des Mitarbeiters (alias Feld in der DB)

    Das Template der Listenseite sieht so aus:
    PHP-Code:
    <div class="<?php echo $this->class?> block"<?php echo $this->cssID?><?php if ($this->style): ?> style="<?php echo $this->style?>"<?php endif; ?>>

      <?php if ($this->headline): ?>
        <<?php echo $this->hl?>><?php echo $this->headline?></<?php echo $this->hl?>>
      <?php endif; ?>
    <?php
    foreach ($this->mitarbeiter as $mitarbeiter){
        
        
    $objP $this->getPageDetails($this->jumpTo);
        
    $strUrl $this->generateFrontendUrl($objP->row(), '/detail/'.$mitarbeiter['alias']); 
        
     
             echo 
    $mitarbeiter['anrede'].' ';
        echo 
    '<a href ="'.$strUrl.'">'.$mitarbeiter['nachname'].' '.$mitarbeiter['vorname'].'</a> ';
        echo 
    $mitarbeiter['telefon1'].' ';
        echo 
    $mitarbeiter['email'].'<br>';
    }
    ?>
    <pre>
    <?php
    print_r
    ($this);
    ?>
    </pre>
    </div>
    Muss ich noch was anderes einstellen, damit die Weiterleitung zur "Detailseite funktioniert?
    Ich hoffe, ich habe alles verständlich erklärt, ansonsten noch mal nachfragen.

    Freu mich schon auf Eure Hilfe....

  2. #2
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Ein Link, damit es leichter wird ?

  3. #3
    Contao-Nutzer Avatar von jenny89
    Registriert seit
    31.03.2014.
    Ort
    Münster
    Beiträge
    21

    Standard

    Das Projekt liegt leider noch lokal, da es noch am Anfang steht.

  4. #4
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Ich mach' immer alles online. Man kann ja mit einem Passwort oder auch anders sperren.

  5. #5
    Contao-Nutzer Avatar von jenny89
    Registriert seit
    31.03.2014.
    Ort
    Münster
    Beiträge
    21

    Standard

    Vielleicht schon eine kleine Idee?
    Ich versuche morgen das Projekt online zu setzten.

  6. #6
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Ich weiss gerade, wie man PHP schreibt aber mehr auch nicht. Da müssen schon andere helfen.

    EDIT:
    Hier vielleicht:
    https://community.contao.org/de/show...eFrontendUrl()

  7. #7
    Contao-Nutzer Avatar von jenny89
    Registriert seit
    31.03.2014.
    Ort
    Münster
    Beiträge
    21

    Standard

    Habe die Lösung gefunden Gestern wurde zeitgleich in einem anderen Thread das Gleiche diskutiert.
    Auf die Sprünge hat mich die Antwort von Toflar gebracht, danke an dieser Stelle...

    Das Problem ist wahrscheinlich, dass ihr nicht auf die Input-Klasse zugreift.
    Der Ursprung in dieser Lösung ist die Tatsache, dass Contao über kein Routen-Verzeichnis verfügt. Es weiss also nicht, ob eine Anfrage überhaupt gültig ist oder nicht.
    Insofern konnte man früher solche URLs generieren und sie wurden korrekt von Contao ausgeliefert:
    Code:

    http://domain.de/seite/items/alias/q...ehr/muell.html

    Da das aber schlecht für SEO ist, musste eine Lösung gefunden werden die dieses Problem mehr oder weniger behebt.
    Jetzt prüft Contao ob irgendeine Stelle im Code auf die Parameter reagiert. D.h. in diesem Beispiel auf "items", "quatsch", "sauce", "noch" und "mehr". Das kann es aber nur prüfen, wenn man auch über die entsprechenden Contao-Bibliotheken geht und nicht direkt
    PHP-Code:
    $_GET
    nutzt.

    Sprich: Niemand hat auf den Parameter "xy" gehört --> ich sende einen 404 Not Found.

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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