【问题标题】:welcome page before main page主页前的欢迎页面
【发布时间】:2012-09-04 14:20:57
【问题描述】:

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

Welcome page before main page

当用户访问我的页面 / 我想将他重定向到 /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');
        }
    }

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

【问题讨论】:

标签: symfony routing symfony-2.1


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-28
    • 2018-01-24
    • 2019-10-19
    • 2015-03-28
    • 2020-07-23
    • 2023-03-28
    • 2014-02-14
    • 1970-01-01
    相关资源
    最近更新 更多