Symfony2 控制器导航栏
Symfony2 controller navbar
我会为我的导航栏放置一个控制器,我会使用查询从我的数据库中获取一个变量..
我没有控制器,我是这样创建的:
<?php
namespace Dt\EcBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class NavbarController extends Controller {
public function navbarAction(Request $request) {
$prova = "ciao";
return $this->render('DtEcBundle:Header:navbar.html.twig',array(
"prova" => $prova,
));
}
}
现在我把我的渲染控制器放在:“{# app/Resources/views/base.html.twig #}”
{{ render(controller('DtEcBundle:Navbar:navbar', { 'prova': prova })) }}
我遵循这个但我不明白错误:“http://symfony.com/doc/current/book/templating.html#embedding-controllers”
我收到此错误 变量 "prova" 在第 5 行 DtEcBundle:Header:navbar.html.twig 中不存在 但如果我将代码写入navbar.html.twig 给我等于错误..
如果我删除变量并且只写
{{ render(controller('DtEcBundle:Navbar:navbar')) }}
给我一个服务器错误号 500 o.o..
我该怎么做才能仅在导航栏中使用我的控制器。html.twig??
错误代码为:
{{ render(controller('DtEcBundle:Navbar:navbar', { 'prova': prova })) }}
twig 中不存在 prova 变量,控制器没问题。
我如果你想把 var 从树枝到控制器:
/**
* @Route("/prova/{prova}", name="prova")
*/
public function navbarAction(Request $request,$prova) {
return $this->render('DtEcBundle:Header:navbar.html.twig',array(
"prova" => $prova,
));
}
和树枝:
{% set prova = 'foo' %}
{{ render(controller('DtEcBundle:Navbar:navbar', { 'prova': prova })) }}
navbarAction 不将 prova 变量作为参数,那你为什么要在基本模板中传递它?
我认为该操作应该从数据库中获取这些数据。
在那种情况下,使用:
{{ render(controller('DtEcBundle:Navbar:navbar')) }}
好像没问题,其他地方出错了
如果您得到 500,请检查日志以告诉我们到底出了什么问题。
并格式化你的代码,它几乎不可读。
我会为我的导航栏放置一个控制器,我会使用查询从我的数据库中获取一个变量.. 我没有控制器,我是这样创建的:
<?php
namespace Dt\EcBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class NavbarController extends Controller {
public function navbarAction(Request $request) {
$prova = "ciao";
return $this->render('DtEcBundle:Header:navbar.html.twig',array(
"prova" => $prova,
));
}
}
现在我把我的渲染控制器放在:“{# app/Resources/views/base.html.twig #}”
{{ render(controller('DtEcBundle:Navbar:navbar', { 'prova': prova })) }}
我遵循这个但我不明白错误:“http://symfony.com/doc/current/book/templating.html#embedding-controllers”
我收到此错误 变量 "prova" 在第 5 行 DtEcBundle:Header:navbar.html.twig 中不存在 但如果我将代码写入navbar.html.twig 给我等于错误.. 如果我删除变量并且只写
{{ render(controller('DtEcBundle:Navbar:navbar')) }}
给我一个服务器错误号 500 o.o.. 我该怎么做才能仅在导航栏中使用我的控制器。html.twig??
错误代码为:
{{ render(controller('DtEcBundle:Navbar:navbar', { 'prova': prova })) }}
twig 中不存在 prova 变量,控制器没问题。 我如果你想把 var 从树枝到控制器:
/**
* @Route("/prova/{prova}", name="prova")
*/
public function navbarAction(Request $request,$prova) {
return $this->render('DtEcBundle:Header:navbar.html.twig',array(
"prova" => $prova,
));
}
和树枝:
{% set prova = 'foo' %}
{{ render(controller('DtEcBundle:Navbar:navbar', { 'prova': prova })) }}
navbarAction 不将 prova 变量作为参数,那你为什么要在基本模板中传递它?
我认为该操作应该从数据库中获取这些数据。
在那种情况下,使用:
{{ render(controller('DtEcBundle:Navbar:navbar')) }}
好像没问题,其他地方出错了
如果您得到 500,请检查日志以告诉我们到底出了什么问题。
并格式化你的代码,它几乎不可读。