[TYPO3-ect] lib/div multiple extension with same key on one page - action dispatcher

Michael Knoll mimi at kaktusteam.de
Wed Sep 26 13:01:37 CEST 2007


Elmar Hinz wrote:
> Michael Knoll wrote:
> 
>> Hi list!
>>
>> Is there a solution for the problem of having multiple extensions on one
>>   the same page, that all have the same extension_key, let's say
>> different plugins from the same extension? What about action dispatching
>> in this case? The action parameter is given via the submit element of
>> the form for example and it has the form "ext_key[actionName]". If I
>> have two different plugins, the first plugin will get the action and
>> puts its content on the page. The second plugin gets the same action and
>> a "Action not found" error occurs. Of course I can overwrite the
>> undefinedAction in my controller for the plugin, but wouldn't it be
>> nicer to have something like <input type="submit"
>> name="ext_key[plugin_key][actionName]"> ?!? Is there a solution for this
>> problem, that I don't see?
>>
>> Otherwise, I would perhaps extend my controller, so that he can handle
>> this request. Any better ideas?
>>
>> Have a good night!
>>
>> Mimi
> 
> 
> Hi Michael,
> 
> I think there are solutions. 
> 
> Using the ext_key as designator is only the fallback solution, if you do
> nothing else!!!
> 
> I.e. you can set "var $defaultDesignator" to any value you like or provide a
> key in the moment of link generation.
> 
> It's that flexible, because the requirements are very different for
> different extensions. Sometimes different plugins work synchronized. They
> need to share the same designator. Sometimes the same extension needs
> different designators within the same page, like in your case.
> 
> The designator should be "unique enough" (TM), so best start with the
> extension key and end with a string of your choice. 
> 
> Often the controllers class name is a good designator (like in
> tslib_pibase): tx_myext_aController
> 
> Regards
> 
> Elmar
> 
Hi Elmar,

thanks a lot for your answer, I think I've got it now. So I will use the 
name of my controller to put up the action like

<input type=submit name=tx_extKey_controller[action]>

and set the $defaultDesignator to

$this->defaulDesignator = tx_extKey_controller


Thanks!

Mimi


More information about the TYPO3-team-extension-coordination mailing list