重定向到所选选项卡

时间:2013-06-10 19:20:30

标签: symfony1 symfony-1.4

我在Symfony 1应用程序中使用Twitter Bootstrap。我有一个标签式导航,但我想重定向到执行添加操作后的同一个标签。正如您在 Emisores 标签中看到的那样,请参阅此image,执行添加操作后我想要的(是“Crear Nuevo”)我被重定向到同一个标签页。对于重定向,我使用:

$this->redirect('admin/index');

这可能吗?怎么样?

1 个答案:

答案 0 :(得分:2)

在您的控制器中

// \apps\myApp\modules\profile\actions\actions.class.php
public function executeUpdate()
{
    // Handle form submit and update

    $this->getUser()->setFlash('activeTab', 'profile');
    $this->redirect('admin/index');
}

现在,在模板中,您可以确定最后一次激活的选项卡是什么,因为您在执行重定向之前将其名称存储在Flash对象中。因此,检索flash值以确定在模板中激活哪个选项卡,如下所示:

// \apps\myApp\modules\admin\templates\indexSuccess.php
<script>
     <?php 
     // Would be better if assigned this in your controller and passed it to the template
     $activeTab = $sf_user->getFlash('activeTab', 'default_tab_id');
     ?>
     $('#myTab a[href="#<?php echo $activeTab ?>"]').tab('show');
</script>