我有一个从Slim v3移植到Fat Free Framework的Web应用程序。逻辑部分很简单。我的问题是将某些Twig视图模板转换为F3模板。具体地说,我在构建连接字符串以填充Materialize类字段时遇到困难。
例如,假设我的联系表单验证传回了 message_err ,其中指出:“名称字段必须至少包含3个字符。”
利用Twig的模板引擎的Slim应用程序将检查 data.name_err 是否为空,如果不是,它将通过连接'data-name'创建一个新的 messageName 。 err =“'和data.name_err,然后将其用于以Materialize形式显示错误状态。这是一个代码段:
<div class="input-field">
<label for="name">Name:</label>
{% if data.name_err %}
{% set messageName = 'data-error="'~data.name_err~'"' %}
{% endif %}
some more code here...
</div>
我已经尝试使用F3的内置模板引擎执行类似的操作,但是我尝试过的所有操作都会引发错误。这里有一些尝试:
<set msg="data-error=" {{ @data.name_err }} "></set>
和:
<set msg="{{ data-error=" @data.name_err "}}"></set>
由于似乎没有办法转义字符串中的字符,所以这就是为什么我尝试使用ASCII码作为引号的原因。我也用等号进行了尝试,但是仍然出现错误。
如果有人有任何想法,我将不胜感激。否则,我将不得不深入研究一些核心逻辑。
答案 0 :(得分:0)
请尝试
<set msg="{{ 'data-error="'.@data.name_err.'"'}}"></set>
答案 1 :(得分:0)
在F3中,您可以使用{~ <code> ~}
来执行php表达式而不回显结果。
{~ @msg = "data-error=\"@data.name_err\"" ~}