• TYPO3 常用 fluid 标签及相关操作总结(一)


    • f:base

    示例:

    <f:base />
    

    输出:

    <base href="http://example.com/"></base>
    

    • f:cObject

    示例:

    <f:cObject typoscriptObjectPath="lib.calc" data="45 + 34 * 2" />
    

    配置:

    lib.calc = TEXT
    	lib.calc {
    	  current = 1
    	  prioriCalc = 1
    	}
    

    输出:
    158
    注意:Typo3中 prioriCalc忽略了的优先级,所以真实计算公式是(45 + 34) 2。


    • f:count

    示例:

    <f:count subject="{myarray}" />
    
    <f:if condition="{myarray -> f:count()} > 3">
    	myarray数量与3比较
    </f:if>
    

    输出:整数


    • f:debug

    示例:

    <f:debug title="打印输出变量MyArray">{myarray}</f:debug>
    <f:debug title="打印输出所有变量">{_all}</f:debug>
    

    输出:输出对象或数组并打印在页面上


    • f:for

    示例:

    <ul>
        <f:for each="{shoppinglist}" as="food" key="number" iteration="itemIteration">
          <li class="item{f:if(condition: itemIteration.isFirst, then: ''first-child'')}">{number}: {food}</li>
        </f:for>
    </ul>
    

    输出:

    </ul>
    	<li class="item first-child">4: apples</li>
    	<li class="item">3: choclate</li>
    	<li class="item">25: beer</li>
    	<li class="item">10: frozen pizza</li>
    </ul>
    

    可使用的迭代值:

    itemIteration.index (0索引)
    itemIteration.cycle (同上,但是从1开始)(1索引)
    itemIteration.total (循环项总数)
    itemIteration.isFirst (第一项存在为真)
    itemIteration.isLast (最后一项存在为真)
    itemIteration.isOdd (奇循环 cycles 1,3,5,...)
    itemIteration.isEven (偶循环 cycles 2,4,6,...)
    

    • f:form

    示例:

    <f:form action="...">...</f:form>
    <f:form action="..." controller="..." package="..." enctype="multipart/form-data"> ... </f:form>
    

    输出:输出HTML表单。数据是通过POST请求提交的(可以通过设置method=''get''来更改)。表单内容请看下一篇文章 使用强大的fluid标签生成表单内容


    • f:if, f:then, f:else

    示例1-判断存在:

    <f:if condition="{myvar}">
    	不是空字符串也不是0
    </f:if>
    <f:if condition="{myvar}">
      	<f:then>不是空字符串也不是0</f:then>
      	<f:else>空字符串或0</f:else>
    </f:if>
    
    <section class="{f:if(condition: record.show, then: ''visible-record'', else: ''hide'')}">
    

    示例2-比较运算:

    <f:if condition="{myvar} == ''foobar''">
      	变量等于字符串‘foobar’可见
    </f:if>
    
    {f:if(condition:''{variable}==\''foo\'''', then:''Hello'')}
    {f:if(condition:''{variable}=="foo"'', then:''Hello'')}
    
    <f:if condition="{rank} > 100">
       如果变量值大于100时显示为真
    </f:if>
    <f:if condition="{rank} % 2">
    	如果变量对2取余不等于0时显示为真
    </f:if>
    <f:if condition="{rank} == {k:bar()}">
    	如果变量值等于ViewHelper函数{k:bar()}的返回值时显示为真 ViewHelper "k:bar"
    </f:if>
    
    {f:if(condition:''{number}==1'', then:''Hello'')}
    
    <f:if condition="{enable} == 1">真</f:if>
    <f:if condition="{enable} == 0">假</f:if>
    
    {f:if(condition: enable, then: ''真'')}
    {f:if(condition: ''{enable}==0'', then: ''假'')}
    
    配合ViewHelper使用
    <f:if condition="<f:count subject=''{post.comments}'' /> > 0">
      	<f:then>为真</f:then>
      	<f:else>为假</f:else>
    </f:if>
    
    多条件判断
    <f:if condition="({variableOne} && {variableTwo}) || {variableThree} || {variableFour}">
    	如果变量1和2为真,或者3,4,5变量为真即为真
    </f:if>
    

    输出:做为判断使用,可返回变量,也可以返回固定值


    • f:switch

    示例:

    <f:switch expression="{person.gender}">
       <f:case value="1">{person.lastName}1</f:case>
       <f:case value="2">{person.lastName}2</f:case>
       <f:case value="3">{person.lastName}3</f:case>
       <f:defaultCase>默认</f:defaultCase>
    </f:switch>
    

    输出:对应条件的值


    • f:image

    示例:

    <f:image src="uploads/pics/myImage.png" width="200" height="150" alt="My Image" />
    <f:image src="{f:uri.resource(path:''Images/myImage.png'')}" width="200" height="150" alt="My Image" />
    

    输出:

    <img src="http://www.examlpe.com/Images/myImage.png" width="200" height="150" alt="My Image" />
    

    再说一句

    以上都说了下typo3中常用的一些fluid标签,下片文章中我会再说一下form表单有关的和a标签有关的fluid标签.'

  • 相关阅读:
    用VBS脚本查询纯真IP库QQWry.dat(转)
    微软的进程监视器监视进程注册表,文件系统和线程等活动process monitor
    纯真IP库详解(转)
    VBS的开发利器WMI信息绑定参考地址
    VBS去除指定的字符串中的重复项返回重复后的字符串
    WMI中相关的操作说明execquery 或者是instancesof
    VBS字符编码的说明
    VBS中的Asc/AscB/AscW和Chr/ChrB/ChrW函数之间的区别(转)
    随笔我的想法
    关于ANSI字符编码的BUG问题(转)
  • 原文地址:https://www.cnblogs.com/sanlilin/p/14153426.html
Copyright © 2020-2023  润新知