CJuiTabs posicionamento das abas


(Diegolaversonfreitas) #1

Boa noite,

Gostaria de saber como eu faço pra mudar o posicionamento das abas no CJuiTabs. Eu queria utilizá-las do lado direito e não em cima.

Estilo estas tabs do Bootstrap, que por sinal, tentei utilizar mais não rolou, ele da muita incompatibilidade com o Yii, um exemplo é que não conseguia mais utilizar o filter do gridview nem o cmask. Pelo menos comigo. =P

Flws


(Thiagoluis) #2

Laverson, dê uma olhada nesse site: http://keith-wood.name/uiTabs.html#tabs-right

Acredito que resolva seu problema.

Boa noite!


(Diegolaversonfreitas) #3

Vlw Thiago, vou dar uma olhada nissaê. Já tinha visto o css em algum outro canto, mais queria saber se tem alguma opção direto no CJuiTabs pra isso, mais parece que não. :(


(Fabiano Lothor) #4

Laverson, se ainda tiveres interesse, posso postar algumas dicas para se trabalhar com as Tabs do Yii Bootstrap.

Realmente dá uns erros toscos e chatos de se resolver, mas estou trabalhando com elas e apesar das dificuldades, está dando certo e ficando legal.

Abraço!


(Adrian Lucas) #5

Amigos posta aí que seria legal, tenho também vontade de trabalhar com tabs e GridView no Yii Bootstrap.


(Diegolaversonfreitas) #6

Lothor postai como que faz. Queria utilizar o Bootstrap também mais da muita incompatibilidade, muita coisa deixa de funcionar, por isso parei com ele.


(Fabiano Lothor) #7

É verdade!

É um saco ajustar o Bootstrap.

Trabalhar com formulários então… ~ Lê Porre!

Bom, segue abaixo o exemplo de uma tabs que usei aqui.

Minha view:




<div id="tabsIndex" class="form floatRight">

    <?php

    $this->widget('bootstrap.widgets.TbTabs', array(

	'type' => 'tabs',

	'placement' => 'left',

	'tabs' => array(

	    array('label' => Yii::t('app', 'Login'), 'icon' => 'user', 'content' => $this->renderPartial('forms/login', array('loginForm' => $loginForm), true), 'active' => true),

	    array('label' => Yii::t('app', 'Ativar Empresa'), 'icon' => 'ok', 'content' => $this->renderPartial('forms/enableCompany', array('enableCompanyForm' => $enableCompanyForm), true)),

	),

    ));

    ?>

</div>



O "Pulo do Gato" dessas Tabs aí é esse Render Partial…

O 3° parâmetro dele, tem que ser true, caso contrário, dá bronca e ele acaba renderizando a outra view, fora da Tabs.

Aí na view que eu renderizar, faço o que eu quiser lá.

Ao fim, tenho as seguintes Tabs na página: Link da Imagem.


(Diegolaversonfreitas) #8

Era isso mesmo que eu queria fazer.

Porém, ao utilizar o bootstrap widgets não vai dar problema não nos forms?

Tem mais alguma configuração que você utilizou pra rodá-lo??


(Fabiano Lothor) #9

Eu tive muito problema com formulário porque a ideia aqui é fazer o sistema 100% AJAX.

Tive diversos problemas e acho que se eu for elencar tudo, vou acabar esquecendo de algum.

Mas segue alguns mais marcantes:

  • Tive que criar funções para configurar o AJAX no menu do site passando apenas a ação e o controlador da visualização a ser renderizada.

  • Acompanhando as requisições pelo console do Google Chrome, percebi que toda vez que eu fazia uma requisição AJAX com o 4° parâmetro do renderPartial como true, todos os arquivos JS e os demais do Bootstrap eram recarregados na página, resultando em uma perca - ainda que pequena - de desempenho. Para resolver isso, acabei tendo que mudar umas besteiras no core do Yii Bootstrap, a resolução podes encontrar aqui.

  • Tive diversos problemas também com as validações dos formulários vindas do AjaxPerformValidation e acabei tendo que criar uma função própria para exibir os erros do formulário na tela. A função está aqui.

O segundo problema foi o mais chato de resolver e o terceiro foi meio que decepcionante, pois para mim a biblioteca deveria dar suporte a isso.

Eu tentei realizar as requisições AJAX de diversas formas para encontrar alguma forma de fazer a validação da maneira correta, mas não obtive êxito, então foi assim mesmo.

As vezes não fazia requisição AJAX e a página era recarregada, as vezes fazia mais de uma requisição AJAX, enfim… De qualquer forma, pode sempre ser que eu não conheça suficientemente bem a biblioteca e não estivesse fazendo da maneira correta, mas posso garantir que procurei bastante.

De qualquer forma, se não vais trabalhar com AJAX, não há com o que se preocupar, esses 3 problemas que enfrentei são tornam-se transparentes.