【发布时间】:2017-10-24 11:15:00
【问题描述】:
我是 Symfony 2.8 的新手。 我有这个数组
IndexController.php on line 18:
array:6 [▼
"code" => "Home"
"parent" => "master"
"labels" => array:1 [▼
"en_US" => "Home"
]
"mainMenu" => false
"footerMenu" => false
"headerMenu" => true
]
例如:当 mainMenu 设置为 true 时,我需要显示 mainMenu.html.twig。
用这个方法我调用这个数组
public function indexAction(Request $request, $locale, $page) {
$pageContent = $this->container->get("pimc_akeneo_cms_page_content_builder");
$akeneoConnector = $this->container->get("pimc_akeneo_cms_backend_connector");
$html = $pageContent->build($page, $locale);
$elements = $akeneoConnector->getCategoryList($page);
if($elements['mainMenu'] == true){
$this->render('base/mainMenu.html.twig'); // I have problem in here
}
if($elements['headerMenu'] == true){
$this->render('base/headerMenu.html.twig'); // I have problem in here
}
if($elements['footerMenu'] == true){
$this->render('base/footerMenu.html.twig'); // I have problem in here
}
return $this->render('base/index.html.twig', ["content" => $html]);
}
我在基本 app/Resources/views/base/ 中有 headerMenu.html.twig、footerMenu.html.twig 和 mainMenu.html.twig。 这似乎真的是一个简单的问题,但我无法解决它。 所以问题是当 mainMenu.html.twig 设置为 true 时要编写的语法。我怎样才能显示这个?
【问题讨论】:
-
在每个 if 中使用 return $this->render...
-
是的,我已经尝试过了。然后它只返回例如 mainMenu.html.twig 这不是我想要的。
-
好的,那么你需要在树枝视图下进行这个模板的条件加载
-
您能否更具体地了解条件加载?
-
red the doc of include,我相信这就是你需要的twig.symfony.com/doc/2.x/tags/include.html
标签: php symfony symfony-2.8