Twig扩展函数读取值

时间:2015-02-09 14:44:11

标签: php twig extension-methods

我正在尝试创建一组简化函数,让用户创建一个将作为表单呈现的树枝模板。

表单执行时应该读取自生成的数据数组。

下面的代码应该打印一个名为'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>';

    });

$这 - &GT; _twigEnv-&GT;调用addFunction( 'configkey',$ FUNC);

输出

the undesired output

1 个答案:

答案 0 :(得分:0)

向所有人寻求帮助,但我发现解决方案比预期更容易..

 $func = new Twig_SimpleFunction('configkey', function ($key='example', $label='label', $value='') {

    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="' . $value . '"/>';
    echo  '</div>';
    echo  '</div>';

});

电话会是

{{configkey('hello', 'Hello Field', config.hello)}}

您是否只使用关键参数对绑定有更好的方法?