Php 重定向链接时将变量设置为细枝?
我想在重定向链接时将变量设置为twig,就像使用渲染方法时一样:Php 重定向链接时将变量设置为细枝?,php,symfony,Php,Symfony,我想在重定向链接时将变量设置为twig,就像使用渲染方法时一样: return $this->render('socialBundle::index.html.twig',array( 'id' => $id )); 它将Id变量设置为twig:{{Id} return $this->redirect($this->generateUrl("tuto_animaux_voir", array(
return $this->render('socialBundle::index.html.twig',array(
'id' => $id
));
它将Id变量设置为twig:{{Id}
return $this->redirect($this->generateUrl("tuto_animaux_voir", array(
'id' => $id
)));
它会将Id变量设置为链接:xxxxx.com/Id,我希望它在重定向时将此变量呈现给twig
很抱歉这个糟糕的概念和语言,因为我不是英国人,这是我的第一个问题
等待回复,谢谢。在您的情况下,“tuto_animaux_voir”是一条与控制器动作相关的路线。给定的id将可用作操作参数,因此您可以按如下方式传递它:
public function fooAction($id)
{
return $this->render(
'socialBundle::foo.html.twig',
['id' => $id]
)
}
您还可以从数据库中获取数据并将其传递给视图
如果这不是您想要实现的,请告诉我们为什么要使用重定向,以及这两个操作应该做什么
编辑:
如果我正确理解了您的评论,那么您希望实现flash消息,这些消息是
文档中的示例简单明了。我不太明白您想做什么,如果您想在细枝模板中添加链接,或者只是根据条件从控制器重定向。如果你能详细说明你想做什么,我想我可以帮你 更新(解决方案)
您可以使用“转发到另一个控制器”,而不是使用“重定向”,然后从那里将变量发送到细枝模板根据您的上一条评论,我得出以下结论 假设您有索引操作,路径
tuto\u animaux\u voir
。路由有一个参数id
。它以id
为参数,从数据库中获取警报(我们在数据库中有警报)。此外,我们还有实体警报,字段id(默认值)为title
在模板index.html.twig
中,可以显示警报
...
{{ alert.title }}
...
如果要重定向到细枝中的索引操作
<a href="{{ path("tuto_animaux_voir", { 'id': alert_id })}}">Alert Title<a>
我想我的回答会对您有所帮助。您不能在重定向上发送数据。您可以创建另一个操作,该操作使用您的id
参数并从数据库中获取object
。您希望传递哪个变量?请描述您的业务逻辑好吗?我想创建一个简单的注册/登录/注销站点,我只想在输入此链接xxxxx.com/alert时在索引中显示一些警报,这就是为什么我想将链接重定向到索引并显示警报变量…检查我的答案,我想这就是您想要的。我只想使用重定向将变量传递给twig?您可以使用而不是使用“重定向”然后从那里将变量发送到twig template.nice,但这不会重定向页面,它将在链接中显示id。。。我只想通过它而不展示它…好的。问题是你们不能完全描述你们的业务逻辑。你们现在明白了吗?我想你们想实现你们自己的自行车。
<a href="{{ path("tuto_animaux_voir", { 'id': alert_id })}}">Alert Title<a>
{{ render(controller('AppBundle:Alert:index',{'id': alert_id})) }}