Routing fehlende Argumente in Extensions seit Update auf 9.5.16

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Routing fehlende Argumente in Extensions seit Update auf 9.5.16

g4-lisz
Hallo allerseits,

wir haben länger kein Update gemacht und dann gleich von 9.5.8 auf
9.5.15. Wir benutzen in der Site config.yaml diverse Routings ("speaking
URLs") für unsere Extensions.

Nun scheint das seit dem Update zum Teil nicht mehr zu klappen. Es
werden nicht mehr alle GET Parameter gemappt. Hier der relevante Teil
aus config.yaml:

      -
        routePath: '/step3/measure/{messung}/year/{jahr}/nr/{listing}'
        _controller: 'Resultat::spitalsuche'
        _arguments:
          messung: messung
          jahr: jahr
          listing: selectedListing
[...]
    aspects:
      listing:
        type: PersistedAliasMapper
        tableName: tx_anq_domain_model_listing
        routeFieldName: uid

Die Url wird richtig generiert: .../step3/measure/27/year/2017/nr/22616

Aber der Controller wird ohne Argument "listing" aufgerufen; "jahr" und
"messung" werden korrekt gesetzt.

Die Controller Action sieht so aus:

    /**
     * Step3
     * @param \GoCo\Anq\Domain\Model\Messung $messung
     * @param \GoCo\Anq\Domain\Model\Jahr $jahr
     * @param \GoCo\Anq\Domain\Model\Listing $selectedListing
     * @param \GoCo\Anq\Domain\Model\Listing $gruppeListing
     * @param string $suchEingabe
     * @param integer $currentPage
     * @param string $submit
     * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("messung")
     * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("selectedListing")
     * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("gruppeListing")
     */
    public function spitalsucheAction(\GoCo\Anq\Domain\Model\Messung
$messung, \GoCo\Anq\Domain\Model\Jahr $jahr,
\GoCo\Anq\Domain\Model\Listing $selectedListing=NULL,
\GoCo\Anq\Domain\Model\Listing $gruppeListing=NULL, $suchEingabe="", 
$currentPage=1, $submit="") {
 .....
}

Ich steh gerade auf dem Schlauch. Aus RealURL-Erfahrung dachte ich als
erstes an ein Cache-Problem. Aber auch ohne Cache funktioniert es nicht.

Mit aktiviertem AdminPanel habe ich den $_GET REQUEST ausgegeben und da
kommt tatsächlich auch nur "action", "controller", "jahr" und "messung" an.

Hat jemand eine Idee oder ähnliche Probleme seit dem Update? Ich habe
jetzt mal angefangen, die ganzen Release Notes zu lesen, aber das sind
so einige seit 9.5.8.

Grüße,
Till

P.S. Ist die Liste wirklich quasi tot und man muss Slack benutzen?

_______________________________________________
TYPO3-german mailing list
[hidden email]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Reply | Threaded
Open this post in threaded view
|

Re: Routing fehlende Argumente in Extensions seit Update auf 9.5.16

Christoph
Hallo Till,

ggf. liegt es daran: https://forge.typo3.org/issues/91235

VG
Christoph

Am 05.05.2020 um 19:21 schrieb [hidden email]:

> Hallo allerseits,
>
> wir haben länger kein Update gemacht und dann gleich von 9.5.8 auf
> 9.5.15. Wir benutzen in der Site config.yaml diverse Routings ("speaking
> URLs") für unsere Extensions.
>
> Nun scheint das seit dem Update zum Teil nicht mehr zu klappen. Es
> werden nicht mehr alle GET Parameter gemappt. Hier der relevante Teil
> aus config.yaml:
>
>       -
>         routePath: '/step3/measure/{messung}/year/{jahr}/nr/{listing}'
>         _controller: 'Resultat::spitalsuche'
>         _arguments:
>           messung: messung
>           jahr: jahr
>           listing: selectedListing
> [...]
>     aspects:
>       listing:
>         type: PersistedAliasMapper
>         tableName: tx_anq_domain_model_listing
>         routeFieldName: uid
>
> Die Url wird richtig generiert: .../step3/measure/27/year/2017/nr/22616
>
> Aber der Controller wird ohne Argument "listing" aufgerufen; "jahr" und
> "messung" werden korrekt gesetzt.
>
> Die Controller Action sieht so aus:
>
>     /**
>      * Step3
>      * @param \GoCo\Anq\Domain\Model\Messung $messung
>      * @param \GoCo\Anq\Domain\Model\Jahr $jahr
>      * @param \GoCo\Anq\Domain\Model\Listing $selectedListing
>      * @param \GoCo\Anq\Domain\Model\Listing $gruppeListing
>      * @param string $suchEingabe
>      * @param integer $currentPage
>      * @param string $submit
>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("messung")
>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("selectedListing")
>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("gruppeListing")
>      */
>     public function spitalsucheAction(\GoCo\Anq\Domain\Model\Messung
> $messung, \GoCo\Anq\Domain\Model\Jahr $jahr,
> \GoCo\Anq\Domain\Model\Listing $selectedListing=NULL,
> \GoCo\Anq\Domain\Model\Listing $gruppeListing=NULL, $suchEingabe="", 
> $currentPage=1, $submit="") {
>  .....
> }
>
> Ich steh gerade auf dem Schlauch. Aus RealURL-Erfahrung dachte ich als
> erstes an ein Cache-Problem. Aber auch ohne Cache funktioniert es nicht.
>
> Mit aktiviertem AdminPanel habe ich den $_GET REQUEST ausgegeben und da
> kommt tatsächlich auch nur "action", "controller", "jahr" und "messung" an.
>
> Hat jemand eine Idee oder ähnliche Probleme seit dem Update? Ich habe
> jetzt mal angefangen, die ganzen Release Notes zu lesen, aber das sind
> so einige seit 9.5.8.
>
> Grüße,
> Till
>
> P.S. Ist die Liste wirklich quasi tot und man muss Slack benutzen?
>
> _______________________________________________
> TYPO3-german mailing list
> [hidden email]
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


_______________________________________________
TYPO3-german mailing list
[hidden email]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Reply | Threaded
Open this post in threaded view
|

Re: Routing fehlende Argumente in Extensions seit Update auf 9.5.16

g4-lisz
Hi Christoph,

danke für den Hinweis! Schwer zu sagen, ob das damit zusammenhängt. Ich
kriege eigentlich keine falschen Links, aber die Argumente werden quasi
abgeschnitten.

Ich habe unterdessen den Verdacht, dass das Matching der passenden Route
verändert wurde. Früher (mindestens bis 9.5.8) wurde die Route mit der
komplettem Übereinstimmung gewählt. Jetzt scheint die erste, die den
Anfang der URL matched, gewählt zu werden. Also wohl irgend eine
Änderung am Regex-Ausdruck.

Das Problem ist offenbar, dass ich mehrere Routen habe, die gleich
beginnen. Das hat früher allerdings geklappt:

        routePath: '/step3/measure/{messung}/year/{jahr}/page/{page}'

        routePath: '/step3/measure/{messung}/year/{jahr}/nr/{listing}'

        routePath:
'/step3/measure/{messung}/year/{jahr}/nr/{listing}/page/{page}

Dieses Setup kommt daher, weil wir die alten URLs von RealURL
weiterverwenden mussten. Also Angaben der Seite durch die Segmente
"/page/2" oder beides fällt weg für den Default. Das Gleiche für "/nr/2343".

Am Ende sollte eine URL der Form /step3/measure/1/year/2017
funktionieren, aber auch /step3/measure/1/year/2017/page/3.

Beim neuen Routing ist die Idee wohl, dass man nur noch URLs der Form
/ergebnis/{nummer}/{page} hat, und bei den Defaults fällt das
entsprechende Segment weg.

Wie kriege ich aber sowas wie /ergebnis/messung/{messUid}/year/{jahrUid}
[/nr/{preselUid}] [/page/{pagerN}] mit einer einzigen Route hin?

Ich muss wohl erst mal das Update zurück rollen, bis ich eine Lösung
gefunden habe.

Grüße,
Till

On 05.05.20 20:11, Christoph wrote:

> Hallo Till,
>
> ggf. liegt es daran: https://forge.typo3.org/issues/91235
>
> VG
> Christoph
>
> Am 05.05.2020 um 19:21 schrieb [hidden email]:
>> Hallo allerseits,
>>
>> wir haben länger kein Update gemacht und dann gleich von 9.5.8 auf
>> 9.5.15. Wir benutzen in der Site config.yaml diverse Routings ("speaking
>> URLs") für unsere Extensions.
>>
>> Nun scheint das seit dem Update zum Teil nicht mehr zu klappen. Es
>> werden nicht mehr alle GET Parameter gemappt. Hier der relevante Teil
>> aus config.yaml:
>>
>>       -
>>         routePath: '/step3/measure/{messung}/year/{jahr}/nr/{listing}'
>>         _controller: 'Resultat::spitalsuche'
>>         _arguments:
>>           messung: messung
>>           jahr: jahr
>>           listing: selectedListing
>> [...]
>>     aspects:
>>       listing:
>>         type: PersistedAliasMapper
>>         tableName: tx_anq_domain_model_listing
>>         routeFieldName: uid
>>
>> Die Url wird richtig generiert: .../step3/measure/27/year/2017/nr/22616
>>
>> Aber der Controller wird ohne Argument "listing" aufgerufen; "jahr" und
>> "messung" werden korrekt gesetzt.
>>
>> Die Controller Action sieht so aus:
>>
>>     /**
>>      * Step3
>>      * @param \GoCo\Anq\Domain\Model\Messung $messung
>>      * @param \GoCo\Anq\Domain\Model\Jahr $jahr
>>      * @param \GoCo\Anq\Domain\Model\Listing $selectedListing
>>      * @param \GoCo\Anq\Domain\Model\Listing $gruppeListing
>>      * @param string $suchEingabe
>>      * @param integer $currentPage
>>      * @param string $submit
>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("messung")
>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("selectedListing")
>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("gruppeListing")
>>      */
>>     public function spitalsucheAction(\GoCo\Anq\Domain\Model\Messung
>> $messung, \GoCo\Anq\Domain\Model\Jahr $jahr,
>> \GoCo\Anq\Domain\Model\Listing $selectedListing=NULL,
>> \GoCo\Anq\Domain\Model\Listing $gruppeListing=NULL, $suchEingabe="", 
>> $currentPage=1, $submit="") {
>>  .....
>> }
>>
>> Ich steh gerade auf dem Schlauch. Aus RealURL-Erfahrung dachte ich als
>> erstes an ein Cache-Problem. Aber auch ohne Cache funktioniert es nicht.
>>
>> Mit aktiviertem AdminPanel habe ich den $_GET REQUEST ausgegeben und da
>> kommt tatsächlich auch nur "action", "controller", "jahr" und "messung" an.
>>
>> Hat jemand eine Idee oder ähnliche Probleme seit dem Update? Ich habe
>> jetzt mal angefangen, die ganzen Release Notes zu lesen, aber das sind
>> so einige seit 9.5.8.
>>
>> Grüße,
>> Till
>>
>> P.S. Ist die Liste wirklich quasi tot und man muss Slack benutzen?
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> [hidden email]
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
> _______________________________________________
> TYPO3-german mailing list
> [hidden email]
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
[hidden email]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Reply | Threaded
Open this post in threaded view
|

Re: Routing fehlende Argumente in Extensions seit Update auf 9.5.16

Birgit
Hallo in die Runde,

das hilft zwar nicht beim konkreten Problem, trotzdem als Info:

Nach dem Update von TYPO3 9.5.15 auf TYPO3 9.5.16 funktionieren auch Links zur Detailansicht von EXT:tt_news nicht mehr, die mit dem Standard Route Enhancer für Plugins konfiguriert sind.
Für die URL verwende ich /path_segment/uid.

Die uid wird abgeschnitten. Sieht auf den ersten Blick für mich so aus, als würde grundsätzlich nur noch das 1. Feld ausgespielt - und nicht mehr so, wie in der Doku:
https://docs.typo3.org/m/typo3/reference-tca/master/en-us/ColumnsConfig/Type/Slug.html#generatoroptions


mein TCA:

$tempColumns = array (
    'path_segment' => array (
        'exclude' => true,
        'label' => 'URL Segment',
        'config' => array (
            'type' => 'slug',
            'generatorOptions' => array (
                'fields' => array ('title,uid'),
                'fieldSeparator' => '/',
                'replacements' => array (
                    '/' => '-',
                    '.' => '-'
                ),
            ),
            'fallbackCharacter' => '-',
            'prependSlash' => true,
            'eval' => 'uniqueInSite',
        ),
    ),
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_news',$tempColumns);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tt_news', 'path_segment', '', 'after:title‘);


Habe auch gerade eben von anderen Projekten gehört, wo das gleiche Problem mit dem Extbase Enhancer in EXT:news besteht.

In Version 9.5.15 gibt es die Probleme nicht.

Viele Grüße
Birgit



> Am 05.05.2020 um 20:57 schrieb [hidden email]:
>
> Hi Christoph,
>
> danke für den Hinweis! Schwer zu sagen, ob das damit zusammenhängt. Ich
> kriege eigentlich keine falschen Links, aber die Argumente werden quasi
> abgeschnitten.
>
> Ich habe unterdessen den Verdacht, dass das Matching der passenden Route
> verändert wurde. Früher (mindestens bis 9.5.8) wurde die Route mit der
> komplettem Übereinstimmung gewählt. Jetzt scheint die erste, die den
> Anfang der URL matched, gewählt zu werden. Also wohl irgend eine
> Änderung am Regex-Ausdruck.
>
> Das Problem ist offenbar, dass ich mehrere Routen habe, die gleich
> beginnen. Das hat früher allerdings geklappt:
>
>         routePath: '/step3/measure/{messung}/year/{jahr}/page/{page}'
>
>         routePath: '/step3/measure/{messung}/year/{jahr}/nr/{listing}'
>
>         routePath:
> '/step3/measure/{messung}/year/{jahr}/nr/{listing}/page/{page}
>
> Dieses Setup kommt daher, weil wir die alten URLs von RealURL
> weiterverwenden mussten. Also Angaben der Seite durch die Segmente
> "/page/2" oder beides fällt weg für den Default. Das Gleiche für "/nr/2343".
>
> Am Ende sollte eine URL der Form /step3/measure/1/year/2017
> funktionieren, aber auch /step3/measure/1/year/2017/page/3.
>
> Beim neuen Routing ist die Idee wohl, dass man nur noch URLs der Form
> /ergebnis/{nummer}/{page} hat, und bei den Defaults fällt das
> entsprechende Segment weg.
>
> Wie kriege ich aber sowas wie /ergebnis/messung/{messUid}/year/{jahrUid}
> [/nr/{preselUid}] [/page/{pagerN}] mit einer einzigen Route hin?
>
> Ich muss wohl erst mal das Update zurück rollen, bis ich eine Lösung
> gefunden habe.
>
> Grüße,
> Till
>
> On 05.05.20 20:11, Christoph wrote:
>> Hallo Till,
>>
>> ggf. liegt es daran: https://forge.typo3.org/issues/91235
>>
>> VG
>> Christoph
>>
>> Am 05.05.2020 um 19:21 schrieb [hidden email]:
>>> Hallo allerseits,
>>>
>>> wir haben länger kein Update gemacht und dann gleich von 9.5.8 auf
>>> 9.5.15. Wir benutzen in der Site config.yaml diverse Routings ("speaking
>>> URLs") für unsere Extensions.
>>>
>>> Nun scheint das seit dem Update zum Teil nicht mehr zu klappen. Es
>>> werden nicht mehr alle GET Parameter gemappt. Hier der relevante Teil
>>> aus config.yaml:
>>>
>>>       -
>>>         routePath: '/step3/measure/{messung}/year/{jahr}/nr/{listing}'
>>>         _controller: 'Resultat::spitalsuche'
>>>         _arguments:
>>>           messung: messung
>>>           jahr: jahr
>>>           listing: selectedListing
>>> [...]
>>>     aspects:
>>>       listing:
>>>         type: PersistedAliasMapper
>>>         tableName: tx_anq_domain_model_listing
>>>         routeFieldName: uid
>>>
>>> Die Url wird richtig generiert: .../step3/measure/27/year/2017/nr/22616
>>>
>>> Aber der Controller wird ohne Argument "listing" aufgerufen; "jahr" und
>>> "messung" werden korrekt gesetzt.
>>>
>>> Die Controller Action sieht so aus:
>>>
>>>     /**
>>>      * Step3
>>>      * @param \GoCo\Anq\Domain\Model\Messung $messung
>>>      * @param \GoCo\Anq\Domain\Model\Jahr $jahr
>>>      * @param \GoCo\Anq\Domain\Model\Listing $selectedListing
>>>      * @param \GoCo\Anq\Domain\Model\Listing $gruppeListing
>>>      * @param string $suchEingabe
>>>      * @param integer $currentPage
>>>      * @param string $submit
>>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("messung")
>>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("selectedListing")
>>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("gruppeListing")
>>>      */
>>>     public function spitalsucheAction(\GoCo\Anq\Domain\Model\Messung
>>> $messung, \GoCo\Anq\Domain\Model\Jahr $jahr,
>>> \GoCo\Anq\Domain\Model\Listing $selectedListing=NULL,
>>> \GoCo\Anq\Domain\Model\Listing $gruppeListing=NULL, $suchEingabe="",
>>> $currentPage=1, $submit="") {
>>>  .....
>>> }
>>>
>>> Ich steh gerade auf dem Schlauch. Aus RealURL-Erfahrung dachte ich als
>>> erstes an ein Cache-Problem. Aber auch ohne Cache funktioniert es nicht.
>>>
>>> Mit aktiviertem AdminPanel habe ich den $_GET REQUEST ausgegeben und da
>>> kommt tatsächlich auch nur "action", "controller", "jahr" und "messung" an.
>>>
>>> Hat jemand eine Idee oder ähnliche Probleme seit dem Update? Ich habe
>>> jetzt mal angefangen, die ganzen Release Notes zu lesen, aber das sind
>>> so einige seit 9.5.8.
>>>
>>> Grüße,
>>> Till
>>>
>>> P.S. Ist die Liste wirklich quasi tot und man muss Slack benutzen?
>>>
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> [hidden email]
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> [hidden email]
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> _______________________________________________
> TYPO3-german mailing list
> [hidden email]
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

_______________________________________________
TYPO3-german mailing list
[hidden email]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Reply | Threaded
Open this post in threaded view
|

Re: Routing fehlende Argumente in Extensions seit Update auf 9.5.16

g4-lisz
Hallo Birgit und alle Mitlesende,

ich habe nun auch auf Slack gepostet und ein paar Antworten gekriegt -
allerdings noch keine Lösung:
https://typo3.slack.com/archives/C2ZKN8P7G/p1588706756156400

Ich habe die Updates zurückgerollt und bei 9.5.14. funktioniert das
Routing wieder wie gewohnt. Also ist bei mir der Breaking Change schon
in 9.5.15.

Evtl. steht das Ganze im Zusammenhang mit folgendem Bug:
https://forge.typo3.org/issues/91098

Dort steht u.A.: "First observation: Routes are tested in reverse order,
not from top to bottom. This doesn't make sense since the routes are not
sorted by their path length and longer paths are not tried first."

Das kann ich nur bedingt bestätigen. Ich habe bei mir die Reihenfolge
der Routen-Definitionen umgedreht, also die längste Route zuerst. Und
nun hat offenbar der URI-Builder ein ähnliches Problem: Die URLs werden
nur noch bis zum 'year'-Segment gebildet, die restlichen Argumente
werden einfach als GET-Parameter angehängt. Und natürlich auch noch ein
'cHash'...

Beste Grüße,
Till

On 06.05.20 13:54, Birgit wrote:

> Hallo in die Runde,
>
> das hilft zwar nicht beim konkreten Problem, trotzdem als Info:
>
> Nach dem Update von TYPO3 9.5.15 auf TYPO3 9.5.16 funktionieren auch Links zur Detailansicht von EXT:tt_news nicht mehr, die mit dem Standard Route Enhancer für Plugins konfiguriert sind.
> Für die URL verwende ich /path_segment/uid.
>
> Die uid wird abgeschnitten. Sieht auf den ersten Blick für mich so aus, als würde grundsätzlich nur noch das 1. Feld ausgespielt - und nicht mehr so, wie in der Doku:
> https://docs.typo3.org/m/typo3/reference-tca/master/en-us/ColumnsConfig/Type/Slug.html#generatoroptions
>
>
> mein TCA:
>
> $tempColumns = array (
>     'path_segment' => array (
>         'exclude' => true,
>         'label' => 'URL Segment',
>         'config' => array (
>             'type' => 'slug',
>             'generatorOptions' => array (
>                 'fields' => array ('title,uid'),
>                 'fieldSeparator' => '/',
>                 'replacements' => array (
>                     '/' => '-',
>                     '.' => '-'
>                 ),
>             ),
>             'fallbackCharacter' => '-',
>             'prependSlash' => true,
>             'eval' => 'uniqueInSite',
>         ),
>     ),
> );
> \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_news',$tempColumns);
> \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tt_news', 'path_segment', '', 'after:title‘);
>
>
> Habe auch gerade eben von anderen Projekten gehört, wo das gleiche Problem mit dem Extbase Enhancer in EXT:news besteht.
>
> In Version 9.5.15 gibt es die Probleme nicht.
>
> Viele Grüße
> Birgit
>
>
>
>> Am 05.05.2020 um 20:57 schrieb [hidden email]:
>>
>> Hi Christoph,
>>
>> danke für den Hinweis! Schwer zu sagen, ob das damit zusammenhängt. Ich
>> kriege eigentlich keine falschen Links, aber die Argumente werden quasi
>> abgeschnitten.
>>
>> Ich habe unterdessen den Verdacht, dass das Matching der passenden Route
>> verändert wurde. Früher (mindestens bis 9.5.8) wurde die Route mit der
>> komplettem Übereinstimmung gewählt. Jetzt scheint die erste, die den
>> Anfang der URL matched, gewählt zu werden. Also wohl irgend eine
>> Änderung am Regex-Ausdruck.
>>
>> Das Problem ist offenbar, dass ich mehrere Routen habe, die gleich
>> beginnen. Das hat früher allerdings geklappt:
>>
>>         routePath: '/step3/measure/{messung}/year/{jahr}/page/{page}'
>>
>>         routePath: '/step3/measure/{messung}/year/{jahr}/nr/{listing}'
>>
>>         routePath:
>> '/step3/measure/{messung}/year/{jahr}/nr/{listing}/page/{page}
>>
>> Dieses Setup kommt daher, weil wir die alten URLs von RealURL
>> weiterverwenden mussten. Also Angaben der Seite durch die Segmente
>> "/page/2" oder beides fällt weg für den Default. Das Gleiche für "/nr/2343".
>>
>> Am Ende sollte eine URL der Form /step3/measure/1/year/2017
>> funktionieren, aber auch /step3/measure/1/year/2017/page/3.
>>
>> Beim neuen Routing ist die Idee wohl, dass man nur noch URLs der Form
>> /ergebnis/{nummer}/{page} hat, und bei den Defaults fällt das
>> entsprechende Segment weg.
>>
>> Wie kriege ich aber sowas wie /ergebnis/messung/{messUid}/year/{jahrUid}
>> [/nr/{preselUid}] [/page/{pagerN}] mit einer einzigen Route hin?
>>
>> Ich muss wohl erst mal das Update zurück rollen, bis ich eine Lösung
>> gefunden habe.
>>
>> Grüße,
>> Till
>>
>> On 05.05.20 20:11, Christoph wrote:
>>> Hallo Till,
>>>
>>> ggf. liegt es daran: https://forge.typo3.org/issues/91235
>>>
>>> VG
>>> Christoph
>>>
>>> Am 05.05.2020 um 19:21 schrieb [hidden email]:
>>>> Hallo allerseits,
>>>>
>>>> wir haben länger kein Update gemacht und dann gleich von 9.5.8 auf
>>>> 9.5.15. Wir benutzen in der Site config.yaml diverse Routings ("speaking
>>>> URLs") für unsere Extensions.
>>>>
>>>> Nun scheint das seit dem Update zum Teil nicht mehr zu klappen. Es
>>>> werden nicht mehr alle GET Parameter gemappt. Hier der relevante Teil
>>>> aus config.yaml:
>>>>
>>>>       -
>>>>         routePath: '/step3/measure/{messung}/year/{jahr}/nr/{listing}'
>>>>         _controller: 'Resultat::spitalsuche'
>>>>         _arguments:
>>>>           messung: messung
>>>>           jahr: jahr
>>>>           listing: selectedListing
>>>> [...]
>>>>     aspects:
>>>>       listing:
>>>>         type: PersistedAliasMapper
>>>>         tableName: tx_anq_domain_model_listing
>>>>         routeFieldName: uid
>>>>
>>>> Die Url wird richtig generiert: .../step3/measure/27/year/2017/nr/22616
>>>>
>>>> Aber der Controller wird ohne Argument "listing" aufgerufen; "jahr" und
>>>> "messung" werden korrekt gesetzt.
>>>>
>>>> Die Controller Action sieht so aus:
>>>>
>>>>     /**
>>>>      * Step3
>>>>      * @param \GoCo\Anq\Domain\Model\Messung $messung
>>>>      * @param \GoCo\Anq\Domain\Model\Jahr $jahr
>>>>      * @param \GoCo\Anq\Domain\Model\Listing $selectedListing
>>>>      * @param \GoCo\Anq\Domain\Model\Listing $gruppeListing
>>>>      * @param string $suchEingabe
>>>>      * @param integer $currentPage
>>>>      * @param string $submit
>>>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("messung")
>>>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("selectedListing")
>>>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("gruppeListing")
>>>>      */
>>>>     public function spitalsucheAction(\GoCo\Anq\Domain\Model\Messung
>>>> $messung, \GoCo\Anq\Domain\Model\Jahr $jahr,
>>>> \GoCo\Anq\Domain\Model\Listing $selectedListing=NULL,
>>>> \GoCo\Anq\Domain\Model\Listing $gruppeListing=NULL, $suchEingabe="",
>>>> $currentPage=1, $submit="") {
>>>>  .....
>>>> }
>>>>
>>>> Ich steh gerade auf dem Schlauch. Aus RealURL-Erfahrung dachte ich als
>>>> erstes an ein Cache-Problem. Aber auch ohne Cache funktioniert es nicht.
>>>>
>>>> Mit aktiviertem AdminPanel habe ich den $_GET REQUEST ausgegeben und da
>>>> kommt tatsächlich auch nur "action", "controller", "jahr" und "messung" an.
>>>>
>>>> Hat jemand eine Idee oder ähnliche Probleme seit dem Update? Ich habe
>>>> jetzt mal angefangen, die ganzen Release Notes zu lesen, aber das sind
>>>> so einige seit 9.5.8.
>>>>
>>>> Grüße,
>>>> Till
>>>>
>>>> P.S. Ist die Liste wirklich quasi tot und man muss Slack benutzen?
>>>>
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> [hidden email]
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> [hidden email]
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>> _______________________________________________
>> TYPO3-german mailing list
>> [hidden email]
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> _______________________________________________
> TYPO3-german mailing list
> [hidden email]
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
[hidden email]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Reply | Threaded
Open this post in threaded view
|

Typo3 10.4.2 Verwendung von html constants

thomas.utke@web.de
Hallo Typo3ler,

was in Typo3 9.5 ohne Probleme funktionierte und in Typo3 10.4
offensichtlich nicht,
ist die Verwendung von html in costants.
https://docs.typo3.org/m/typo3/reference-typoscript/10.4/en-us/Functions/Parsefunc.html#parsefunc

Wenn ich folgendes setup verwende:

constants.DOMAIN = <a href="meinedomain.de">Meine Domain</a>
constants       = 1

wird ###DOMAIN### im RTE zwar ersetzt aber der Link wird entfernt.

Weiß jemand, wie das zu lösen ist oder wo genau ich suchen kann?

Gruß Thomas

Versucht habe ich beispielsweise schon das hier:

lib.parseFunc_RTE.tags.link = TEXT
lib.parseFunc_RTE.tags.link {
   current = 1
   typolink {
     parameter {
       data = parameters : allParams
     }
     extTarget = _blank
   }
   parseFunc.constants = 1
}

Ohne Erfolg

_______________________________________________
TYPO3-german mailing list
[hidden email]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Reply | Threaded
Open this post in threaded view
|

Re: Routing fehlende Argumente in Extensions seit Update auf 9.5.16

g4-lisz
In reply to this post by g4-lisz
Hallo allerseits,

leider hat sich in der Sache bisher nichts getan.

Unterdessen habe ich auch einen Bug eröffnet:
https://forge.typo3.org/issues/91537

Der scheint aber nicht gerade große Beachtung zu finden. Liegt wohl
daran, dass die Änderungen am Routing seit 9.5.14 noch diverse andere
Probleme nach sich gezogen haben. Ich frage mich ein wenig, welches
tolle Feature es wert war, so viele Anwendungsfälle zu "breaken"...

Wir werden wohl noch eine Weile auf 9.5.14 festhängen. Und unser Kunde
freut sich weiter über den roten Warnhinweis im Backend.

Grüße,
Till

On 06.05.20 14:47, [hidden email] wrote:

> Hallo Birgit und alle Mitlesende,
>
> ich habe nun auch auf Slack gepostet und ein paar Antworten gekriegt -
> allerdings noch keine Lösung:
> https://typo3.slack.com/archives/C2ZKN8P7G/p1588706756156400
>
> Ich habe die Updates zurückgerollt und bei 9.5.14. funktioniert das
> Routing wieder wie gewohnt. Also ist bei mir der Breaking Change schon
> in 9.5.15.
>
> Evtl. steht das Ganze im Zusammenhang mit folgendem Bug:
> https://forge.typo3.org/issues/91098
>
> Dort steht u.A.: "First observation: Routes are tested in reverse order,
> not from top to bottom. This doesn't make sense since the routes are not
> sorted by their path length and longer paths are not tried first."
>
> Das kann ich nur bedingt bestätigen. Ich habe bei mir die Reihenfolge
> der Routen-Definitionen umgedreht, also die längste Route zuerst. Und
> nun hat offenbar der URI-Builder ein ähnliches Problem: Die URLs werden
> nur noch bis zum 'year'-Segment gebildet, die restlichen Argumente
> werden einfach als GET-Parameter angehängt. Und natürlich auch noch ein
> 'cHash'...
>
> Beste Grüße,
> Till
>
> On 06.05.20 13:54, Birgit wrote:
>> Hallo in die Runde,
>>
>> das hilft zwar nicht beim konkreten Problem, trotzdem als Info:
>>
>> Nach dem Update von TYPO3 9.5.15 auf TYPO3 9.5.16 funktionieren auch Links zur Detailansicht von EXT:tt_news nicht mehr, die mit dem Standard Route Enhancer für Plugins konfiguriert sind.
>> Für die URL verwende ich /path_segment/uid.
>>
>> Die uid wird abgeschnitten. Sieht auf den ersten Blick für mich so aus, als würde grundsätzlich nur noch das 1. Feld ausgespielt - und nicht mehr so, wie in der Doku:
>> https://docs.typo3.org/m/typo3/reference-tca/master/en-us/ColumnsConfig/Type/Slug.html#generatoroptions
>>
>>
>> mein TCA:
>>
>> $tempColumns = array (
>>     'path_segment' => array (
>>         'exclude' => true,
>>         'label' => 'URL Segment',
>>         'config' => array (
>>             'type' => 'slug',
>>             'generatorOptions' => array (
>>                 'fields' => array ('title,uid'),
>>                 'fieldSeparator' => '/',
>>                 'replacements' => array (
>>                     '/' => '-',
>>                     '.' => '-'
>>                 ),
>>             ),
>>             'fallbackCharacter' => '-',
>>             'prependSlash' => true,
>>             'eval' => 'uniqueInSite',
>>         ),
>>     ),
>> );
>> \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_news',$tempColumns);
>> \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tt_news', 'path_segment', '', 'after:title‘);
>>
>>
>> Habe auch gerade eben von anderen Projekten gehört, wo das gleiche Problem mit dem Extbase Enhancer in EXT:news besteht.
>>
>> In Version 9.5.15 gibt es die Probleme nicht.
>>
>> Viele Grüße
>> Birgit
>>
>>
>>
>>> Am 05.05.2020 um 20:57 schrieb [hidden email]:
>>>
>>> Hi Christoph,
>>>
>>> danke für den Hinweis! Schwer zu sagen, ob das damit zusammenhängt. Ich
>>> kriege eigentlich keine falschen Links, aber die Argumente werden quasi
>>> abgeschnitten.
>>>
>>> Ich habe unterdessen den Verdacht, dass das Matching der passenden Route
>>> verändert wurde. Früher (mindestens bis 9.5.8) wurde die Route mit der
>>> komplettem Übereinstimmung gewählt. Jetzt scheint die erste, die den
>>> Anfang der URL matched, gewählt zu werden. Also wohl irgend eine
>>> Änderung am Regex-Ausdruck.
>>>
>>> Das Problem ist offenbar, dass ich mehrere Routen habe, die gleich
>>> beginnen. Das hat früher allerdings geklappt:
>>>
>>>         routePath: '/step3/measure/{messung}/year/{jahr}/page/{page}'
>>>
>>>         routePath: '/step3/measure/{messung}/year/{jahr}/nr/{listing}'
>>>
>>>         routePath:
>>> '/step3/measure/{messung}/year/{jahr}/nr/{listing}/page/{page}
>>>
>>> Dieses Setup kommt daher, weil wir die alten URLs von RealURL
>>> weiterverwenden mussten. Also Angaben der Seite durch die Segmente
>>> "/page/2" oder beides fällt weg für den Default. Das Gleiche für "/nr/2343".
>>>
>>> Am Ende sollte eine URL der Form /step3/measure/1/year/2017
>>> funktionieren, aber auch /step3/measure/1/year/2017/page/3.
>>>
>>> Beim neuen Routing ist die Idee wohl, dass man nur noch URLs der Form
>>> /ergebnis/{nummer}/{page} hat, und bei den Defaults fällt das
>>> entsprechende Segment weg.
>>>
>>> Wie kriege ich aber sowas wie /ergebnis/messung/{messUid}/year/{jahrUid}
>>> [/nr/{preselUid}] [/page/{pagerN}] mit einer einzigen Route hin?
>>>
>>> Ich muss wohl erst mal das Update zurück rollen, bis ich eine Lösung
>>> gefunden habe.
>>>
>>> Grüße,
>>> Till
>>>
>>> On 05.05.20 20:11, Christoph wrote:
>>>> Hallo Till,
>>>>
>>>> ggf. liegt es daran: https://forge.typo3.org/issues/91235
>>>>
>>>> VG
>>>> Christoph
>>>>
>>>> Am 05.05.2020 um 19:21 schrieb [hidden email]:
>>>>> Hallo allerseits,
>>>>>
>>>>> wir haben länger kein Update gemacht und dann gleich von 9.5.8 auf
>>>>> 9.5.15. Wir benutzen in der Site config.yaml diverse Routings ("speaking
>>>>> URLs") für unsere Extensions.
>>>>>
>>>>> Nun scheint das seit dem Update zum Teil nicht mehr zu klappen. Es
>>>>> werden nicht mehr alle GET Parameter gemappt. Hier der relevante Teil
>>>>> aus config.yaml:
>>>>>
>>>>>       -
>>>>>         routePath: '/step3/measure/{messung}/year/{jahr}/nr/{listing}'
>>>>>         _controller: 'Resultat::spitalsuche'
>>>>>         _arguments:
>>>>>           messung: messung
>>>>>           jahr: jahr
>>>>>           listing: selectedListing
>>>>> [...]
>>>>>     aspects:
>>>>>       listing:
>>>>>         type: PersistedAliasMapper
>>>>>         tableName: tx_anq_domain_model_listing
>>>>>         routeFieldName: uid
>>>>>
>>>>> Die Url wird richtig generiert: .../step3/measure/27/year/2017/nr/22616
>>>>>
>>>>> Aber der Controller wird ohne Argument "listing" aufgerufen; "jahr" und
>>>>> "messung" werden korrekt gesetzt.
>>>>>
>>>>> Die Controller Action sieht so aus:
>>>>>
>>>>>     /**
>>>>>      * Step3
>>>>>      * @param \GoCo\Anq\Domain\Model\Messung $messung
>>>>>      * @param \GoCo\Anq\Domain\Model\Jahr $jahr
>>>>>      * @param \GoCo\Anq\Domain\Model\Listing $selectedListing
>>>>>      * @param \GoCo\Anq\Domain\Model\Listing $gruppeListing
>>>>>      * @param string $suchEingabe
>>>>>      * @param integer $currentPage
>>>>>      * @param string $submit
>>>>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("messung")
>>>>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("selectedListing")
>>>>>      * @TYPO3\CMS\Extbase\Annotation\IgnoreValidation("gruppeListing")
>>>>>      */
>>>>>     public function spitalsucheAction(\GoCo\Anq\Domain\Model\Messung
>>>>> $messung, \GoCo\Anq\Domain\Model\Jahr $jahr,
>>>>> \GoCo\Anq\Domain\Model\Listing $selectedListing=NULL,
>>>>> \GoCo\Anq\Domain\Model\Listing $gruppeListing=NULL, $suchEingabe="",
>>>>> $currentPage=1, $submit="") {
>>>>>  .....
>>>>> }
>>>>>
>>>>> Ich steh gerade auf dem Schlauch. Aus RealURL-Erfahrung dachte ich als
>>>>> erstes an ein Cache-Problem. Aber auch ohne Cache funktioniert es nicht.
>>>>>
>>>>> Mit aktiviertem AdminPanel habe ich den $_GET REQUEST ausgegeben und da
>>>>> kommt tatsächlich auch nur "action", "controller", "jahr" und "messung" an.
>>>>>
>>>>> Hat jemand eine Idee oder ähnliche Probleme seit dem Update? Ich habe
>>>>> jetzt mal angefangen, die ganzen Release Notes zu lesen, aber das sind
>>>>> so einige seit 9.5.8.
>>>>>
>>>>> Grüße,
>>>>> Till
>>>>>
>>>>> P.S. Ist die Liste wirklich quasi tot und man muss Slack benutzen?
>>>>>
>>>>> _______________________________________________
>>>>> TYPO3-german mailing list
>>>>> [hidden email]
>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> [hidden email]
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> [hidden email]
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>> _______________________________________________
>> TYPO3-german mailing list
>> [hidden email]
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> _______________________________________________
> TYPO3-german mailing list
> [hidden email]
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
[hidden email]
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german