我遵循了这篇文章:
http://symfony.com/doc/current/book/templating.html#embedding-controllers
我收到了这些错误:
InvalidArgumentException:Controller " CompanyBundle:默认:displayTimeline"对于URI" / _ fragment"不是 调用
Twig_Error_Runtime:渲染期间抛出异常 模板(" Controller" CompanyBundle:默认:displayTimeline" for URI" / _片段"是不可调用的。")in CompanyBundle:默认:第26行的manage.html.twig。
我添加了以下内容:
# app/config/config.yml
framework:
# ...
fragments: { path: /_fragment }
我错过了什么?文章中的控制器看起来像任何其他控制器?我刷新了缓存并重新加载。
编辑|用"动作"添加到控制器方法和模板调用。
我的模板代码:
{{ render(controller('CompanyBundle:Default:displayTimelineAction')) }}
我的控制器代码:
class DefaultController extends Controller
{
public function displayTimelineAction(Request $request)
{
$content = null;
return $this->render('default/timeline.html.twig', $content);
}
}
答案 0 :(得分:1)
Cerad是正确的 - 更具体地说,修复方法是更改模板:
{{ render(controller('CompanyBundle:Default:displayTimeline')) }}
和控制器:
class DefaultController extends Controller
{
public function displayTimelineAction(Request $request)
{
$content = array();
return $this->render('CompanyBundle:Default:timeline.html.twig', $content);
}
}