Yii: Используем закладки из jQuery UI

Yii поставляется с последними версией jQuery UI. И благодаря виджетам работать с ним удобно и приятно. Буквально пару строк и у вас есть нужный элемент на странице.

Вот пример закладки:

$this->widget('zii.widgets.jui.CJuiTabs', array(
    'tabs' => array(
        'Закладка №1' => array('content' => 'Содержимое закладки 1', 'id' => 'tab_1'),
        'Закладка №2' => array('content' => 'Содержимое закладки 2', 'id' => 'tab_2')
    ),
    'options' => array(
   	   'collapsible' => true,
    ),
));

Как бы все хорошо. Только все усложняется если содержимое закладок не просто текст.
Поэтому пример без использования виджета CJuiTabs.

<?php 
    Yii::app()->clientScript->registerCoreScript('jquery.ui');    
    $cs=Yii::app()->getClientScript();
    $cs->registerCssFile($cs->getCoreScriptUrl().'/jui/css/base/jquery-ui.css');
    $cs->registerScript('#tabExample',"jQuery('#tabExample').tabs({'collapsible':true});");
?>

<div id="tabExample">
    <ul>
        <li><a href="#tab_1" title="tab_1">Закладка №1</a></li>
        <li><a href="#tab_2" title="tab_2">Закладка №2</a></li>
    </ul>

    <div id="tab_1">   
    <!-- Содержимое закладки 1 -->    
    </div>

    <div id="tab_2">   
    <!-- Содержимое закладки 2 -->    
    </div>
</div>

Yii: Используем закладки из jQuery UI: 4 комментария

  1. q

    Мен ты сделал костыль причем кривой
    Если содержимое вкладки не просто текст то ложишь его в отдельный файл view и
    делаешь renderPartial() например так renderPartial(‘_form’, array(‘model’=>$model)); ?>
    renderPartial он может вывод и в переменную складывать

  2. Dmitry Davydov

    А можно просто вот так:

    ‘tabs’ => array(
    ‘Закладка №1’ => array(‘content’ => $tab1, ‘id’ => ‘tab_1’),
    ‘Закладка №2’ => array(‘content’ => $tab2, ‘id’ => ‘tab_2’)

    В $tab1 и $tab2 можно положить всё что угодно!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *