主页面前的欢迎页面

时间:2012-09-11 15:39:05

标签: symfony routing symfony-2.1

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

Welcome page before main page

当用户访问我的页面/我想将他重定向到/ welcome。当他点击/ welcome中的链接时,他应该被重定向到/ page,但是他应该再次看到主页面(/)不欢迎页面。如何通过路由执行此操作?有可能吗?

在“普通”PHP中,我使用会话,Symfony2怎么样?

修改

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

我有两条路线:core_homepage(pattern /)和welcome_homepage(pattern / welcome)。

//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');
        }
    }

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

1 个答案:

答案 0 :(得分:1)

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

请注意,这只会在会话处于活动状态时持续。如果你想要一个更永久的设置,你将不得不将其持久化到数据库或类似的东西。