[TYPO3-german] TYPO3 linkTP in action controller

dialoop TYPO3-Support-Team typo3 at dialoop.de
Thu Oct 16 15:08:03 CEST 2014


Hallo Chris,

leider klappt das nicht ganz, anbei die Erläuterung:

<a href="<f:uri.action action='show' arguments='{event: <%= event.uid 
%>}' controller='Event' extensionName='myExtName' 
pluginName='myPluginName' pageUid='53' />">
     <%= moment(event.date).format('L') %>
     <br />
     <%= event.title %>
</a>


Dabei kommt der Wert für <%= event.uid %> aus folgendem Array:

<script type="text/javascript">
     var eventsArray = [
         {eventsFromDatabase} <-- // Hier wird das Events-Objekt aus dem 
Controller an die View übergeben
         Ergebnis:
{ date:'2014-09-08', title:'EVENT 04 SEPTEMBER 2014', uid: 3, pid: 53 },
     ];
</script>

Doch bei dem Aufbau der <f:uri.action> in zusammenhang mit <%= event.uid 
%> bekom ich folgende Fehlermeldung:
*#1237900529: The argument "arguments" was registered with type "array", 
but is of type "string" in view helper 
"TYPO3\CMS\Fluid\ViewHelpers\Uri\ActionViewHelper"*

Daher bräuchte ich folgendes im Controller:

foreach ($events as $event) {
     $url = MethodeZumGenerierenDesURLStrings($event->getUid());
}

Ergebnis sollte dann sein:
'details.html?tx_myext_myplugin[action]=show&tx_myext_myplugin[controller]=Event&tx_myext_myplugin[event]=1';


Wie gesagt früher machte man das mit link_TP.

Vielen Dank schon mal für deine Mühe.



Am 16.10.2014 um 13:20 schrieb Chris Wolff - AERTiCKET AG:
> Hi Du kannst,
> <f:uri.action>
>
> Nutzen das verhält sich wie f:link.action nur das es die url zurück gibt. Das lässt sich dan in dein JS array problemlos einbauen.
>
> hier noch ein link zur referenz:
> https://fluidtypo3.org/viewhelpers/fluid/master/Uri/ActionViewHelper.html
>
> gruss chris
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von dialoop TYPO3-Support-Team
> Gesendet: Donnerstag, 16. Oktober 2014 13:10
> An: German TYPO3 Userlist
> Betreff: [TYPO3-german] TYPO3 linkTP in action controller
>
> Hallo,
>
> ich müsste in einen Action-Controller einen Link generieren zu einer bestimmten Seite mit UID und entsprechender Action.
>
> Auf die Option es über <f:link.action action="myAction"
> controller="myController" arguments="myArguments"
> pageUid="myPageUid">myLinkText</f:link.action>
> kann ich im Template leider nicht zurückgreifen da es dort innerhalb eines Templates des jQuery Plugins CLNDR ausgegeben werden soll und ich es als JSArray übergebe.
>
> Also eigentlich brauche ich eine Funktion die mir folgendes generiert <a href="
> mydetails.html?tx_myextension_myplugin[action]=show&tx_myextension_myplugin[controller]=MyController&tx_myextension_myplugin[MyUid]=MyUid">text</a>
>
>
> Früher gabs dafür diese Methode:
>
> tslib_pibase::pi_linkTP    (
>       $str,
>       $urlParameters = array(),
>       $cache = 0,
>       $altPageId = 0
> );
>
> Doch wie realisiere ich das ganze nun nach dem MVC-Prinzip?
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>




More information about the TYPO3-german mailing list