[TYPO3-templavoila] How to test an empty container / section with TypoScript?

Olivier Schopfer ops at wcc-coe.org
Mon Sep 3 15:45:40 CEST 2007


Dmitry Dulepov [typo3] wrote:
> Hi!
> 
> Olivier Schopfer wrote:
>> Does anybody know a way to test if a section contains sub-items or not?
> 
> No, there is no way.
> 
>> I want to be able to hide the following list of links in case it's 
>> empty. I suppose that one could achieve that with a .if TypoScript 
>> condition. But how to access the subfields? And how to change the 
>> overall wrap of the section (I've tried to put some Typoscript at the 
>> level of the container, but it doesn't seem to work).
> 
> Bug report for it exists but not solved yet. It is difficult to solve 
> because requires passing a lot of information to recursive functions.
> 

Hi again. Quite proud to say that I found a nice workaround, using a 
register:

In one of the typoScript based sub-elements, I added section 20:
									<TypoScript><![CDATA[
	10 = TEXT
	10.typolink.parameter.current = 1
	10.typolink.returnLast = url
	20 = LOAD_REGISTER
	20.see_also_count.cObject = TEXT
	20.see_also_count.cObject.data = register:see_also_count
	20.see_also_count.cObject.wrap = |+1
	20.see_also_count.prioriCalc = intval
]]></TypoScript>

This counts the sub-items and stores the result in the register called 
see_also_count.

And then, I created a new field, which is mapped as an attribute of the 
style parameter of the <div> section containing the list:

<field_left_seealso_all type="array">
	<type>attr</type>
	<tx_templavoila type="array">
		<title>See also all wrap</title>
		<sample_data type="array">
			<numIndex index="0">Display see also section</numIndex>
		</sample_data>
		<eType>TypoScriptObject</eType>
		<TypoScript><![CDATA[
10 = TEXT
10.dataWrap = display:none;
10.if.isFalse.data = register:see_also_count
		]]></TypoScript>
	</tx_templavoila>
	<TCEforms type="array">
		<label>Display see also section</label>
	</TCEforms>
</field_left_seealso_all>

Hope this will help others...

Olivier


More information about the TYPO3-project-templavoila mailing list