Ergebnis 1 bis 15 von 15

Thema: Url per Modul ändern

  1. #1
    Contao-Nutzer
    Registriert seit
    12.05.2014.
    Beiträge
    39

    Standard Url per Modul ändern

    Hallo,

    ist es möglich die Url einer Seite in ein Modul nachträglich zu ändern?
    Zum Beispiel wenn man im Url-Parameter "item" eine Id des Artikels stehen hat, diese ersetzt wird?

    Also aus "seite.html?aid=4" wird seite/ich-bin-ein-artikel.html".
    Ist so etwas möglich?

    Danke im vorraus.

    Philipp

  2. #2
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Hi,

    ja mit ner Weiterleitung?!
    GET Parameter prüfen und dann entsprechend weiterleiten.

    PHP-Code:

    if(Input::get('aid') == 4)
    {
    Controller::redirect('seite/ich-bin-ein-artikel.html');

    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  3. #3
    Contao-Nutzer
    Registriert seit
    12.05.2014.
    Beiträge
    39

    Standard

    Wie weitergeleiten wenn die URL erst gar nicht existiert? Die URL muss doch erst umgeschrieben werden oder?

  4. #4
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    ??
    Also von deinem Post habe ich es so verstanden du hast eine ?aid=4 und willst, dass die URL auf seite/ich-bin-ein-artikel.html "umgeschrieben" wird.

    Anscheinend hast du etwas anderes gemeint.


    Geändert von the_scrat (01.10.2014 um 19:07 Uhr)
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  5. #5
    Contao-Nutzer
    Registriert seit
    12.05.2014.
    Beiträge
    39

    Standard

    Meine ich auch so. Mit Umschreiben meine ich ob Contao eine Seite mit Parameter zu eine SEO- freundliche Url umformen kann.

    Bei Typo3 (welches ich nicht so mag) gibt es die Extension Realurl oder Cooluri welches diese URL umformt.

  6. #6
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Ach jetzt verstehe ich das. Ich denke deine Frage gehört wohl eher in den Bereich "was kann Contao" anstatt in den Entwicklerbereich.

    Schau mal im Backend unter System -> Einstellungen -> Frontend-Einstellungen. Dort musst du lediglich den Haken "URL umschreiben" setzen (.htaccess.default in .htaccess umbenennen). Dann macht Contao das für dich automatisch, dann gibts keine "ids" mehr.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  7. #7
    Contao-Nutzer
    Registriert seit
    12.05.2014.
    Beiträge
    39

    Standard

    Ja das weiß ich.

    Wenn ich aber selber ein fe- modul entwickle und beliebige get Parameter benutze, kann contao diese umschreiben?
    Deshalb doch in Entwicklerforum^^

  8. #8
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Ja müsste gehen. Deine "URL" ist ja nur ein Alias im System, welcher dann mit der Seite verbunden ist.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  9. #9
    Contao-Nutzer
    Registriert seit
    12.05.2014.
    Beiträge
    39

    Standard

    Wie?
    Ich habe schon probiert den Alias über das $objPage zu ändern, leider wird nur das Array geändert aber nicht die URL?

    PHP-Code:
    $objPage->alias "testurl"
    Oder geht das anders?

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

    Standard

    wie willst Du den die URL ändern, wenn die Seite schon ausgeliefert ist?

    wenn Dein Artikel die ID 4 hat und der Alias ich-bin-ein-artikel lautet sollte es möglich sein mit einem jumpTo auf den richtigen Artikel zu springen

    http://api.contao.org/classes/Contao.ArticleModel.html

  11. #11
    Contao-Nutzer
    Registriert seit
    12.05.2014.
    Beiträge
    39

    Standard

    Verstehe ich irgendwie nicht ganz

    Also ich generiere in mein Template folgenden Link:

    PHP-Code:
    echo "<a href='{{link_url::{{page::id}}}}?page=$i$class>$i</a>" 
    Ausgabe der URL:
    HTML-Code:
    index.php/hausebelegung.html?page=3
    Aussehen soll sie so:
    HTML-Code:
    index.php/hausebelegung/3.html
    Ich weiß ist jetzt anders als oben beschrieben, will aber erst klein anfangen.

    Kannst du mir bitte ein Beispiel geben wie so etwas aussehen kann?

  12. #12
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Was ist denn eigentlich so verkehrt an dem GET-Parameter? Ob da jetzt page=3 steht oder /3.html ist doch vollkommen wurscht.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

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

    Standard

    ... das Echo deutet darauf hin, dass du irgendwo im PHP unterwegs bist...

    PHP-Code:
    $objPage = \PageModel::findWithDetails($intPageId]);

    echo 
    '<a href="/index.php/'.$objPage->alias.'/'.$i.'" '.$class.' >'.$i."</a>\n"

    sofern der Alias mit html kommt, wegschneiden

  14. #14
    Contao-Nutzer
    Registriert seit
    12.05.2014.
    Beiträge
    39

    Standard

    Danke schonmal

    Ich weis das es bei diesem Fall eigentlich egal sein dürfte, aber ich kenne Kunden die bestehen drauf

    Eben anderes Beispiel warum ich es benötige:

    www.domain.de/forum.html?forumid=3&topicid=55 soll zu http://www.domain.de/forum/subforum/...es-topics.html

    Ist soetwas mit $this->generateFrontendUrl möglich?

    edit:

    Ich habe das page- script wie von zonky so umgesetzt, es kommt aber immer 404

    Ich habe das script auch mal mit $this->generateFrontendUrl angepasst, auch 404

    PHP-Code:
    $objLink = \PageModel::findWithDetails(27); 
        
        
    $id 2;

        
    $this->Template->linktest $this->generateFrontendUrl($objLink->row(), "/$id"); 
    Geändert von philipp88 (06.10.2014 um 13:40 Uhr)

  15. #15
    Contao-Nutzer
    Registriert seit
    12.05.2014.
    Beiträge
    39

    Standard

    Ich hab es mit generateFrontendUri gelöst bekommen

    PHP-Code:
    $objLink = \PageModel::findByPk($objPage->id);

        
        
    $page = \Input::get("page");
        
        for (
    $i 1$i <= $pages$i++) {
          
    $link ampersand($this->generateFrontendUrl($objLink->row(), "/$i"));
          
    $navigation .= " <a href='$link'>$i</a> ";
        } 
    Anschließend nur noch
    PHP-Code:
    \Input::setGet("page", \Input::get("auto_item")); 
    an Anfang schreiben.

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
  •