0

我使用 Symfony2.1,我想做这样的事情:

主页前的欢迎页面

当用户访问我的页面 / 我想将他重定向到 /welcome。当他单击 /welcome 中的链接时,他应该被重定向到 / 页面,但是他应该再次看到主页(/)而不是欢迎页面。我如何通过路由来做到这一点?是否可以?

在“普通”PHP 中,我使用会话来执行此操作,Symfony2 呢?

编辑:

我用这样的会话解决了这个问题:

我有两条路线:core_homepage(模式/)和welcome_homepage(模式/欢迎)。

//Controller for core:
public function indexAction()
    {
        $session = new Session();
        $session->start();

        if ($session->get('welcome_flag')=='0'){
            return $this->render('MarkCoreBundle:Default:index.html.twig');
        } else {
            return $this->redirect($this->generateUrl('welcome_homepage'));
        }  
    }

//Controller for welcome:
public function indexAction()
    {
        $session = new Session();
        $session->start();

        if ($session->get('welcome_flag') == '0'){
            return $this->redirect($this->generateUrl('core_homepage'));   
        } else {
            $session->set('welcome_flag', '0');
            return $this->render('MarkWelcomeBundle:Default:index.html.twig');
        }
    }

如果有人有任何其他解决方案,请发布。

4

1 回答 1

1

您可以使用会话。在“/”路由的控制器中,检查会话中是否设置了标志。如果不是,请重定向到“/欢迎”页面。在“/welcome”路由的控制器中,在会话中设置此标志。

请注意,这只会在会话处于活动状态时持续。如果您想要一个更永久的设置,则必须将其保存到数据库或类似的东西中。

于 2012-09-11T15:44:45.583 回答