[TYPO3-mvc] Accessing Typoscript values from a fluid template
Henjo Hoeksma
me at henjohoeksma.nl
Tue Apr 19 00:42:39 CEST 2011
On 2011-04-18 17:00:31 +0200, Alban Cousinié said:
> Hello everybody,
>
>
>
> I've been searching the Internet and the typo3v4mvc archive and couldn't
> find a reliable way to access a Typoscript config value from a fluid
> template, and in the end from a viewHelper to exploit this information.
>
>
>
> I only found this partial information which is so stripped of any external
> context that it is very hard to figure how to exploit it :
>
>
>
>> How to use Typoscript in my viewHelpers?
>
>> plugin.my_plugin {
>
>> settings {
>
>> itemsPerPage = 20
>
>> }
>
>> }
>
>
>
> fluid: {settings}
>
> viewHelper: $this->templateVariableContainer->get('settings');
>
>
>
> I think I have tested every possible combination with this information
> without success.
>
>
>
> What I want is to retrieve in a backend fluid template the value of
> "module.tx_m2mhumanressources.persistence.storagePid" which is defined in 3
> locations : in my setup, in my constants, and in my page TS setup (so I am
> pretty much sure the info is available).
>
> The following entries are defined :
>
> plugin.tx_m2mhumanressources.persistence.storagePid = 879
> module.tx_m2mhumanressources.persistence.storagePid = 879
>
>
>
> In the fluid template, using the standard cObject ViewHelper
>
> if I try :
>
> <f:cObject
> typoscriptObjectPath="module.tx_m2mhumanressources.persistence.storagePid"
> />
>
> I get :
>
> - Fatal error: Call to a member function setTSlogMessage() on a non-object
> in
> /home/vulcania/typo3_src-4.5.2/typo3/sysext/cms/tslib/class.tslib_content.ph
> p on line 789
>
>
>
> if I try :
>
> <f:cObject
> typoscriptObjectPath="tx_m2mhumanressources.persistence.storagePid" />
>
> or :
>
> <f:cObject typoscriptObjectPath="persistence.storagePid" />
>
> I get the following messages inserted in the template :
>
> - TypoScript object path "tx_m2mhumanressources.persistence.storagePid" does
> not exist
>
> - TypoScript object path "persistence.storagePid" does not exist
>
>
>
> In my custom viewHelper called like this :
>
> <m2m:be.buttons.newicon
> tableName="tx_m2mhumanressources_domain_model_joboffer"
> storagePid="{module.tx_m2mhumanressources.persistence.storagePid}"
> title="new content" />
>
> If I execute :
>
> $settings = $this->templateVariableContainer->getAllIdentifiers();
>
> I only get one object listed :
>
> - 1 : jobOffers
>
> This is an object of my Domains and it not related to Typoscript.
>
>
>
> Does anyone have a real world example with context for retreiving the
> Typoscript values to a fluid template ?
>
> Then passing these to a ViewHelper shouldn't be too much a problem I guess.
>
>
>
> If you have any example for this I'm a taker : I've already spent a whole
> day trying to sort out this issue without success.
>
>
>
> Thanks
>
>
>
> Alban
>
>
Hi Alban,
getting your settings from TS is easy, for example if you have:
plugin.tx_ext_pi1.settings.limit = 10 in your TS Setup, this can be
retrieved using
$this->settings['limit'] in your controller and viewhelpers (? never
tried that one).
For Fluid you can use: {settings.limit}
Hope this helps,
Henjo
More information about the TYPO3-project-typo3v4mvc
mailing list