--- Original Nachricht ---
Absender: Stig Nørgaard Færch
Datum: 23.02.2009 11:59:
> I know conditions.
> But I don't think that this is what I'm looking for - unless I
> misunderstood something.
> How can I include typoscript templates conditionally with these conditions?
>
> /Stig
>
> Daniel Huf skrev:
>> Try here:
>> http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/4/1/
>>
>>
>>
>> Daniel
>>
>> Stig Nørgaard Færch wrote:
>>> I know it's possible to include typoscript from typoscript setup
>>> through <INCLUDE_TYPOSCRIPT:somefile>.
>>>
>>> What I'm looking for is the possibility to include typoscript
>>> templates (sys_template) conditionally.
>>>
>>> Let's say that some constant is set to 1, then I want template A to
>>> be included.
>>> If the constant is set to 2, then I want tempalte B to be included.
>>>
>>> Is this somehow possible?
>>>
>>> /Stig
Can be done with userMatch condition:
Example to check if a template is set (s. fdfx_yaml)
<code>
function tx_fdfxyaml_userMatch($template)
{
$ok=false;
if (is_object($GLOBALS['TSFE']))
{
if
(isset($GLOBALS['TSFE']->register['tx_rlmptmplselector_ca_tmpl']))
{
$ok=$GLOBALS['TSFE']->register['tx_rlmptmplselector_ca_tmpl']==$template;
} else {
if
($GLOBALS['TSFE']->page['tx_rlmptmplselector_ca_tmpl']!='0')
{
$GLOBALS['TSFE']->register['tx_rlmptmplselector_ca_tmpl'] =
$GLOBALS['TSFE']->page['tx_rlmptmplselector_ca_tmpl'];
$ok=$GLOBALS['TSFE']->register['tx_rlmptmplselector_ca_tmpl']==$template;
} else {
$confArray =
unserialize($GLOBALS["TYPO3_CONF_VARS"]["EXT"]["extConf"]["rlmp_tmplselector"]);
$tmplConf =
$GLOBALS['TSFE']->tmpl->setup["plugin."]["tx_rlmptmplselector_pi1."];
if (is_null($tmplConf))
{
// this will be null if
condition is used in constants
// TODO: is there any way to
work around?
$tmplConf=array('inheritMainTemplates' => 1,'inheritSubTemplates'=>1);
}
if (is_array($tmplConf))
{
$rootLine =
$GLOBALS['TSFE']->rootLine;
$pageSelect =
t3lib_div::makeInstance('t3lib_pageSelect');
if (is_array ($rootLine))
{
if
(intval($tmplConf['inheritMainTemplates']) == 1) {
foreach
($rootLine as $rootLinePage) {
$page =
$pageSelect->getPage ($rootLinePage['uid']);
if
($page['tx_rlmptmplselector_main_tmpl']) {
$GLOBALS['TSFE']->register['tx_rlmptmplselector_main_tmpl'] =
$page['tx_rlmptmplselector_main_tmpl'];
break;
}
}
}
if
(intval($tmplConf['inheritSubTemplates']) == 1)
{
foreach
($rootLine as $rootLinePage) {
$page =
$pageSelect->getPage ($rootLinePage['uid']);
if
($page['tx_rlmptmplselector_ca_tmpl'])
{
$GLOBALS['TSFE']->register['tx_rlmptmplselector_ca_tmpl'] =
$page['tx_rlmptmplselector_ca_tmpl'];
$ok=$GLOBALS['TSFE']->register['tx_rlmptmplselector_ca_tmpl']==$template;
break;
}
}
}
}
}
}
}
}
return $ok;
}
</code>
include e.g. in localconf.php of your extension
and then to check:
[userFunc = tx_fdfxyaml_userMatch(h-123-f.html)]
<INCLUDE_TYPOSCRIPT:
source="FILE:EXT:fdfx_yaml/templates/typoscript/setup.h-123-f.txt">
<INCLUDE_TYPOSCRIPT:
source="FILE:EXT:fdfx_yaml/templates/typoscript/local/setup.h-123-f.txt">
[end]
Hopes that helps.
Peter.
--
Fiat lux!
Docendo discimus.
http://www.gidf.de
_____________________________
4Many� Services
uon GbR
XING: http://www.xing.com/profile/Peter_Russ
https://www.xing.com/go/invita/360052
http://www.xing.com/go/privatemessage/Peter_Russ
_______________________________________________
TYPO3-english mailing list
[email protected]
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-english