【发布时间】:2019-01-19 04:47:59
【问题描述】:
大家好,我来找你是因为我有一个小问题,我希望能够帮助我,我用 symfony 创建了一个商店,但是我对函数“render()”有一个小问题例如,当我通过放置 3 或 4 在控制器类型中创建交叉 id 时,它可以工作,但是当我动态放置他时,它不起作用
我分享我的代码 我的控制器
/**
* @Route("/produits-views/{id}", name="product-views", methods="GET")
* @param int $id
* @return Response
*/
public function viewsProduct(int $id): Response {
$product = $this->getDoctrine()->getRepository(Product::class)->find($id);
return $this->render('inc/views-product.html.twig', [
'productViews' => $product
]);
}
和我的函数渲染
{{ render(controller('App\\Controller\\FrontController::viewsProduct',
{id: productViews.id}
)) }}
我将它包含在 footer.html.twig 中,而页脚包含在 base.html.twig 中
他给我发了这种类型的消息
Variable "productViews" does not exist.
谢谢你的帮助!
【问题讨论】:
-
在模板中,当您转储该变量时会得到什么。?
-
它不起作用,因为当我执行 {id: 3} 时您必须传递一个参数,但当我执行 {id: id} 时,他告诉我他没有找到变量跨度>
-
看看symfony.com/doc/current/templating/global_variables.html 可能你需要构建一个全局的Twig 变量来使它可用于所有模板。