2013-06-10 3 views
0

Я использую Twitter Bootstrap в приложении Symfony 1. У меня есть вкладка навигации, но я хочу, чтобы перенаправить на ту же вкладку, которую я получил после выполнения действия добавления. См. Это image, как вы можете видеть я в Emisores вкладка, после выполнения действия Add («Crear Nuevo») я перенаправлен на ту же вкладку. Для перенаправления я использую это:Перенаправление на выбранную вкладку

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

Возможно ли это? Как?

+0

Вы можете добавить ссылку ## в ссылку, а затем получить ее с помощью JS. Затем в зависимости от '#' вы выполняете определенные действия, например, открываете эту вкладку – Spokey

+0

@Spokey уже пытаетесь это сделать (часть добавления '#' к URL-адресу), но ответ Symfony - 'route not exists' – Reynier

+1

Вы можете ' t перенаправить на вкладку. Вы можете перенаправлять только URL. Вы можете хранить информацию о URL или сеансе, который можно использовать для активации вкладки. Как активировать вкладки на своей странице? – antony

ответ

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, чтобы определить, какая вкладка активируется в вашем шаблоне следующим образом:

// \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> 
+0

спасибо, я понял, что он вообще не работает из-за jQuery или некоторая ошибка с Twitter Bootstrap но это еще одна тема, спасибо за вашу помощь – Reynier

Смежные вопросы