【发布时间】:2015-04-09 08:18:00
【问题描述】:
我正在尝试创建一组简化的函数,让用户创建一个将呈现为表单的树枝模板。
表单,在执行时应该读取自生成的数据数组。
下面的代码应该打印一个名为“hello”的字段,当提交时(示例值为“world”)创建一个数组键 hello 并显示值为“world”的绑定字段。
示例模板:
{{configkey('hello', 'Hello Field')}}
扩展功能
$func = new Twig_SimpleFunction('configkey', function ($key='example', $label='label') {
echo '<div class="control-group">';
echo '<label class="control-label" for="' . $key . '">' . $label . '</label>';
echo '<div class="controls">';
echo '<input type="text" name="' . $key . '" value="{{config.' . $key . '}}"/>';
echo '</div>';
echo '</div>';
});
$this->_twigEnv->addFunction('configkey',$func);
输出
【问题讨论】:
-
twig 函数不应该回显结果,它必须返回结果
-
而不是 echo 将 html 嵌入到树枝文件中,这样您就可以正确打印配置数组值。您是在独立使用 Twig 组件还是在框架内使用?我可以建议你一个基于 symfony2 框架的实现。告诉我
-
@kmlnvm 我尝试简单地返回一个字符串,但该函数输出一个原始 html。我在一个具有自定义 zend 视图的 zf1 应用程序中,该应用程序依赖于具有自定义实现的 twig loader 从 S3 中提取模板的 twig。
标签: php twig extension-methods