SETUP:
问题:
我需要帮助设置调用我已经构建的函数的自定义标记...
当前代码:
模板代码
{% set stories = get_latest_stories(2, sports) %}
{% for story in stories %}
{{ story.headline }} <br>
{% endfor %}
控制器
$function = new Twig_SimpleFunction('getViewStories', function (section, limit) {
return news_stories::getStories(section,limit);
});
$twig->addFunction($function);
$twig->render("storyList.html");
目标:
没有,说我想使用像
这样的自定义标签{% get_latest_stories 2 sports %}
调用与上面相同的功能。新方式看起来更好,更容易理解
答案 0 :(得分:1)
这里是如何编写twig扩展的简单示例 以下代码取自我未完成的项目
function file_import($value){
//some code here
return $value;
}
$app['twig']->addFunction('file_import', new Twig_Function_Function('file_import'));
使用
{{ file_import('value') }}
答案 1 :(得分:1)
为什么不在控制器中取代您的故事而不是模板?这似乎不是视图层的工作......
所以,像这样:
$twig->render("storyList.html", array(
'stories' => news_stories::getStories($section, $limit)
));
然后,您的模板中会有stories
变量。