[Frage] Extbase Real-URL TYPO3-Version: -

  • hannenz hannenz
    T3PO
    0 x
    9 Beiträge
    1 Hilfreiche Beiträge
    23. 05. 2016, 10:44

    Hallo zusammen.
    Ich habe eine Extension mit Extbase geschrieben, die eine Detailansicht beinhaltet. Dafür sollen nun sprechende URLs zum Einsatz kommen.
    Kann mir einer vielleicht einen Tipp geben, in welche Richtung ich schauen muß, eine Google-Suche blieb erfolglos und auch meine beiden Bücher (P. Lobacher, und Rau/Kurfürst/Helmich) zum Thema Extbase-Entwicklung schweigen sich hier aus.

    Vielen Dank schon mal.

    Edit: Ich bin auf TYPO3 7.6.4


  • 1
  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2848 Beiträge
    105 Hilfreiche Beiträge
    23. 05. 2016, 11:56

    Hallo.

    Das in2code-Team stellt eine recht hilfreiche Zusammenstellung zu Extbase+RealURL unter http://snippets.in2code.de/index.php?id=273&tx_in2snippets_pi1[snippet]=68&tx_in2snippets_pi1[action]=detail bereit.

    Auch ein Blick in die News-Extension bzw. deren Doku/Beispiel-Konfigurationen dürfte das ein oder andere bzgl. der Anwendung von realurl bieten.

    Und zu guter Letzt: wenn's konkretere Fragen gibt - frag ;)

    Viele Grüße
    Julian

  • hannenz hannenz
    T3PO
    0 x
    9 Beiträge
    1 Hilfreiche Beiträge
    23. 05. 2016, 13:26

    Vielen Dank. Den Link kannte ich schon, bringt mich aber auch nicht wirklich weiter leider. (Witzig finde ich aber die URL in diesem Zusammenhang - alles andere als »sprechend« ;-) )

    Dann mal etwas konkreter:
    Meine Extension heisst (blöderweise) tt_news (ich weiß, das ist keine gute Idee, da es schon eine mehr oder weniger offizielle »tt_news« gibt, aber so ist es jetzt nun einemal).

    Die Extension hat ein Model "Post" und entsprechend einen "PostController". Ansonsten nix exotisches / Besonderes.

    In der Datei typo3conf/realurl_conf.php steht:

    1. $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
    2. ...
    3. 'postVarSets' => array(
    4. '_DEFAULT' => array(
    5. 'tt_news' => array(
    6. 'GETvar' => 'tx_ttnews_ttnewsfe[controller]',
    7. 'valueMap' => array(
    8. 'aktuelles' => 'Post' # Die erstellten Controller
    9. ),
    10. 'noMatch' => 'bypass',
    11. ),
    12. 'GETvar' => 'tx_ttnews_ttnewsfe[action]',
    13. 'valueMap' => array(
    14. 'detail' => 'show', # Die erstellten Actions
    15. ),
    16. 'noMatch' => 'bypass',
    17. ),
    18. 'GETvar' => 'tx_ttnews_ttnewsfe[Post]',
    19. 'lookUpTable' => array(
    20. 'table' => 'tx_ttnews_domain_model_post',
    21. 'id_field' => 'uid',
    22. 'alias_field' => 'title',
    23. 'addWhereClause' => ' AND NOT deleted',
    24. 'useUniqueCache' => 1,
    25. 'useUniqueCache_conf' => array(
    26. 'strtolower' => 1,
    27. 'spaceCharacter' => '-'
    28. )
    29. ),
    30. ),
    31. ),
    32. ...

    (Die komplette realurl_conf.php habe ich angehängt EDIT: Datei-Upload scheint nicht zu funktionieren..??!?)

    Real-URL (1.13.4)ist folgendermaßen konfiguriert:

    Path to configuration file: typo3conf/realurl_conf.php
    Enable automatic configuration: Enabled
    Automatic configuration file format: PHP Source
    Enable devLog: Disabled
    Store URL for cHash cache: Disabled

    In der Listenansicht steht folgender Link im Fluid-Template:

    1. <f:link.action pageUid="146" action="show" arguments="{post : post}" class="read-more">

    Passieren tut einfach gar nix, die Links sind immer in der Form

    [url]http://example.com/aktuelles/news/post-detail/?tx_ttnews_ttnewsfe%5Bpost%5D=17&tx_ttnews_ttnewsfe%5Baction%5D=show&tx_ttnews_ttnewsfe%5Bcontroller%5D=Post&cHash=0ebfeec5678091fd918b61f23a21c048[/url]

    Auf der restlichen Wesbite ist Real-URL eingerichtet und funktioniert auch auf den "normalen" Seiten.

    Auf der Seite /aktuelles/news ist das FE-Plugin meiner tt_news Extension.

    Orientiert habe ich mich hauptsächlich an dieser Seite: [url]http://coding.musikinsnetz.de/typo3-extbase-fluid/frontend-plugins/speaking-urls-for-your-plugins[/url]

    Was könnte noch von Belang sein?

    Vielen Dank schon mal...

  • webfacer webfacer
    Typ im Roten Hemd
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    07. 07. 2016, 15:26

    Hi,

    hast du schon hierzu eine Lösung. Habe das selbe Problem, dass ich eine Extension erstellt habe. In meinem Fall heißt die Extension einfach "Demo".

    Was nun zwar klappt ist das die indexAction greift (leider auf jeder einzelnen Seite). Jedoch die URL falsch generiert wird wenn vom TYP Extension. Bei Pages Klappt es die von Backend aus generiert worden sind.

    Nun zum Problem wenn ich per [b]<a href="<f:uri.action action="detail" />">test</a>[/b] erstellt er mir zwar den richtigen Link, jedoch greift es nicht bei RealURL sodass ich diesen link hier erzeugt bekomme :
    ?tx_demo_demo%5Baction%5D=detail&tx_demo_demo%5Bcontroller%5D=Demo&cHash=4d7eb332223d245d43dda5129af573ee
    Der Link ist zwar richtig aber nicht von RealURL formatiert wie es sich gehört.
    Wie oben beschrieben sollte es eine RealURL sein die jedoch nicht umformatiert wird. Vielleicht hast du ja bereits eine Lösung und kannst mir weiterhelfen, wie ich diese richtig konfiguriere.

    Ich nutze TYPO3 v7.6.9 würde gern die neue Konfiguration dafür herziehen. Bitte um hilfe.

    Und noch eine frage zu RealURL. Wie sage ich, dass die die indexAction vom DemoController erst dann greifen soll wenn auch die url "www.example.com/demo" aufgerufen wird? Derzeit wird das routing vom DemoController nicht wircklich wie ein MVC-Pattern Controller behandelt, sonder wirkülich durch die Bank aufgerufen xD

  • 1