Typo3 为流体viewHelper by condition再添加一个参数
在我的流体模板中,我有:Typo3 为流体viewHelper by condition再添加一个参数,typo3,fluid,Typo3,Fluid,在我的流体模板中,我有: <f:form.textfield id="{propertyName}" property="{propertyName}" value="{value}" placeholder="" class="form-control" /> 我想为“值”添加条件。比如: <f:form.textfield id="{propertyName}" property="{propertyName}"
<f:form.textfield
id="{propertyName}"
property="{propertyName}"
value="{value}"
placeholder=""
class="form-control"
/>
我想为“值”添加条件。比如:
<f:form.textfield
id="{propertyName}"
property="{propertyName}"
<f:if condition="{value}"> value="{value}" <f:if>
placeholder=""
class="form-control"
/>
现在我正在使用变通方法
<f:if condition="{value}">
<f:then>
<f:form.textfield id="{propertyName}" property="{propertyName}" value="{value}" placeholder="" class="form-control" />
</f:then>
<f:else>
<f:form.textfield id="{propertyName}" property="{propertyName}" placeholder="" class="form-control" />
</f:else>
</f:if>
但是我想避免双重编码。我认为这样做是不可能的 可能的解决方案是用户定义的ViewHelper(不包括原始f:form.textfield)
我认为以这种方式是不可能的 可能的解决方案是用户定义的ViewHelper(不包括原始f:form.textfield)
不可能将ViewHelper嵌套在其XML表示法中。但是,至少在一定程度上,您可以使用内联表示法:
<f:form.textfield
value="{f:if(condition: '<your-condition>', then: value)}" />
在一个简单的情况下,当属性为空时,您只想省略
value
属性,只要始终传递value=“{value}”
就足够了。当该值为null
时,该属性将不包括在呈现的
标记中。不可能在其XML表示法中嵌套ViewHelper。但是,至少在一定程度上,您可以使用内联表示法:
<f:form.textfield
value="{f:if(condition: '<your-condition>', then: value)}" />
在一个简单的情况下,当属性为空时,您只想省略
value
属性,只要始终传递value=“{value}”
就足够了。当值为null
时,属性将不包括在呈现的
标记中。您可以这样做:
<f:form.textfield
name="{data.name -> f:format.urlencode()}"
type="{f:if(then: '{data.inputtyp}', else: 'text', condition: '{data.inputtyp}')}"
class="{f:if(then: '{data.class}', else: '', condition: '{data.class}')}"
value="{f:if(then: '{data.populate}', else: '', condition: '{data.populate}')}"
placeholder="{f:if(then: '{data.placeholder}', else: '', condition: '{data.placeholder}')}" />
您可以这样做:
<f:form.textfield
name="{data.name -> f:format.urlencode()}"
type="{f:if(then: '{data.inputtyp}', else: 'text', condition: '{data.inputtyp}')}"
class="{f:if(then: '{data.class}', else: '', condition: '{data.class}')}"
value="{f:if(then: '{data.populate}', else: '', condition: '{data.populate}')}"
placeholder="{f:if(then: '{data.placeholder}', else: '', condition: '{data.placeholder}')}" />
在这种情况下,属性将始终存在(无论值是否为空)。我需要把它完全藏起来condition@Respant啊,对不起,我已经注意到您明确要求使用“value”标记。这就是Robert G,对了,这在内联表示法中是不可能的。但是对于值标记:在此处添加emtpy值是有效的。在这种情况下,属性将始终存在(无论是否为空值)。我需要把它完全藏起来condition@Respant啊,对不起,我已经注意到您明确要求使用“value”标记。这就是Robert G,对了,这在内联表示法中是不可能的。但是对于value标签:在这里添加emtpy值是有效的。