Internal conditions
Fra Molrikwiki
Dette var mit eget gamle indlæg - jeg er ikke længere sikker på at den holder helt
Hvis du vil 'smage' på en konstant, f.eks. om den sat eller ej, og lade dette afgøre et bestemt udfald, kan man benytte 'if' f.eks. som her fra FMK:
#Default background headerimage right (style) lib.rheaderpicbgstyle = TEXT lib.rheaderpicbgstyle{ value = background-image:url({$lib.headerPicRightStyle}) if.isTrue = {$lib.headerPicRightStyle} }
Mere info på http://typo3.org/documentation/document-library/references/doc_core_tsref/4.2.1/view/1/5/#id4289528
Denne er også god at blive klog af: http://wiki.typo3.org/TSref/if
Og denne kan også være relevant: http://wiki.typo3.org/TSref/CASE
Check extension: http://mbless.de/blog/2015/02/11/typoscript-tricks.html
En anden måde at gøre det på fra gt3math:
Constants:
#cat=gt3math//aa; type=boolean; label=Process content: If set, all content (tt_content) will be processed mathmlpage.processContent = 1
Setup:
# Process LaTeX in content? [globalVar = LIT:1 = {$mathmlpage.processContent}] . . <things to be done> . [global]
Brug af override:
Eksempel
1 = TEXT 1 { value = Absent override = Present override.if { isTrue.data = GP:print } }
http://stackoverflow.com/questions/11777519/typoscript-condition-for-empty-variable
Praksis i systime_toolpopups
10 = TEXT 10 { wrap = <div class="systime-button systime-button-calculator">|</div> value = typolink { parameter = https://mathlib.systime.dk/mathweb12/lrc/lommeregnerc.html?,0,0,0,0,0,0,0 345x405:resizable=0,location=0,scrollbars=0 title = {LLL:EXT:systime_toolpopups/locallang.xml:standard.titleCalc} title { insertData = 1 override = {$systime_toolpopups.standard.titleCalc} override.if.isTrue = {$systime_toolpopups.standard.titleCalc} } ATagParams = class={$systime_toolpopups.standard.aTagClassCalc} ATagParams.if.isTrue = {$systime_toolpopups.standard.aTagClassCalc} } } if.isTrue = {$systime_toolpopups.standard.popupEnableCalc}
Spændende...
Vi man benytte en konstants værdi til at afgøre et udfald, kan det gøres f.eks. som følger. Først konstant-erklæring i constant:
# cat=Molrik Typoscript Test/ifcasetest/0100; type=options[en,to,tre,]; label=Molrik Typoscript Test:Vælg en af disse muligheder testconst = en
Og så i setup:
30 = TEXT 30.value = En er valgt 30.if { value = en equals = {$testconst} } 40 = TEXT 40.value = En er IKKE valgt 40.if { value = en equals = {$testconst} negate = 1 }
Men en anden mulighed, når der som her er mere end 2 muligheder, at benytte CASE:
50 = CASE 50 { key = {$testconst} default = TEXT default.value = Der er IKKE valgt noget en = TEXT en.value = Man har valgt en to = TEXT to.value = Man har valgt to tre = TEXT tre.value = Man har valgt tre }
Elegant - og man kan desuden checke på data fra basen (f.eks. key.data = TSFE:fe_user|user|name for at checke på aktuel bruger eller key.field = layout hvis man har fat i et indholdselement med et givent layout) Mere her: http://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Case/Index.html