Bringing together the Yii PHP framework and Twitter Bootstrap.
Yii-Bootstrap is an extension for Yii that provides a wide range of widgets that allow developers to easily use Bootstrap with Yii. All widgets have been developed following Yii's conventions and work seamlessly together with Bootstrap and its jQuery plugins.
Would you like to say thanks for the time and effort put on this project? Consider donating.
Would you like to support the development of this project on a monthly basis? Consider subscribing.
| Name | Type | Default | Description |
|---|---|---|---|
| buttonType | string | link | Button callback type. Valid values are link, button, submit, submitLink, reset, ajaxLink, ajaxButton and ajaxSubmit. |
| type | string | Button type. Valid values are primary, info, success, warning, danger, inverse and link. | |
| size | string | Button size. Valid values are large, small and mini | |
| icon | string | Button icon, e.g. ok or remove white. | |
| label | string | Button label text. | |
| url | string | Button URL. | |
| encodeLabel | boolean | true | Whether the label should be encoded. |
| block | boolean | false | Whether the button should span the full width of the a parent. |
| active | boolean | false | Whether the button is active. |
| disabled | boolean | false | Whether the button is disabled. |
| toggle | boolean | false | Whether the button can be toggled. |
| loadingText | string | Button loading text. | |
| completeText | string | Button complete text. | |
| items | array | Button dropdown menu items. | |
| htmlOptions | array | Button HTML attributes. | |
| ajaxOptions | array | Button AJAX options (used by ajaxLink and ajaxButton). | |
| dropdownOptions | array | Button dropdown menu HTML attributes. |
$this->widget('bootstrap.widgets.TbButton', array( 'label'=>'Primary', 'type'=>'primary', // null, 'primary', 'info', 'success', 'warning', 'danger' or 'inverse' 'size'=>'large', // null, 'large', 'small' or 'mini' ));
<div class="btn-toolbar"> <?php $this->widget('bootstrap.widgets.TbButtonGroup', array( 'type'=>'primary', // '', 'primary', 'info', 'success', 'warning', 'danger' or 'inverse' 'buttons'=>array( array('label'=>'Action', 'items'=>array( array('label'=>'Action', 'url'=>'#'), array('label'=>'Another action', 'url'=>'#'), array('label'=>'Something else', 'url'=>'#'), '---', array('label'=>'Separate link', 'url'=>'#'), )), ), )); </div>
<div class="btn-toolbar"> <?php $this->widget('bootstrap.widgets.TbButtonGroup', array( 'type'=>'primary', // '', 'primary', 'info', 'success', 'warning', 'danger' or 'inverse' 'buttons'=>array( array('label'=>'Action', 'url'=>'#'), array('items'=>array( array('label'=>'Action', 'url'=>'#'), array('label'=>'Another action', 'url'=>'#'), array('label'=>'Something else', 'url'=>'#'), '---', array('label'=>'Separate link', 'url'=>'#'), )), ), )); </div>
$this->widget('bootstrap.widgets.TbButton', array( 'type'=>'primary', 'label'=>'Block level button', 'block'=>true, ));
$this->widget('bootstrap.widgets.TbButton', array( 'buttonType'=>'button', 'type'=>'primary', 'label'=>'Click me', 'loadingText'=>'loading...', 'htmlOptions'=>array('id'=>'buttonStateful'), ));
$('#buttonStateful').click(function() { var btn = $(this); btn.button('loading'); // call the loading function setTimeout(function() { btn.button('reset'); // call the reset function }, 3000); });
$this->widget('bootstrap.widgets.TbButton', array( 'buttonType'=>'button', 'type'=>'primary', 'label'=>'Toggle me', 'toggle'=>true, ));
$this->widget('bootstrap.widgets.TbButtonGroup', array( 'type' => 'primary', 'toggle' => 'radio', // 'checkbox' or 'radio' 'buttons' => array( array('label'=>'Left'), array('label'=>'Middle'), array('label'=>'Right'), ), ));
| Name | Type | Default | Description |
|---|---|---|---|
| buttonType | string | link | See TbButton::buttonType. |
| type | string | See TbButton::type. | |
| size | string | See TbButton::size. | |
| encodeLabel | boolean | true | See TbButton::encodeLabel. |
| stacked | boolean | false | Whether the button group appears vertically stacked. |
| toggle | boolean | false | See TbButton::toggle. |
| dropup | boolean | false | Whether dropdown menus should drop up instead. |
| buttons | array | Button configurations. | |
| htmlOptions | array | Button group HTML attributes. |
$this->widget('bootstrap.widgets.TbButtonGroup', array( 'buttons'=>array( array('label'=>'1', 'url'=>'#'), array('label'=>'2', 'url'=>'#'), array('label'=>'3', 'url'=>'#'), array('label'=>'4', 'url'=>'#'), ), ));
| Name | Type | Default | Description |
|---|---|---|---|
| separator | string | / | Separator between links in the breadcrumbs. |
$this->widget('bootstrap.widgets.TbBreadcrumbs', array( 'links'=>array('Library'=>'#', 'Data'), ));
| Name | Type | Default | Description |
|---|---|---|---|
| type | string | Menu type. Valid values are tabs, pills and list. | |
| scrollspy | string|array | Scrollspy target or configuration. | |
| stacked | boolean | false | Whether the menu should appear vertically stacked. |
| dropup | boolean | false | Whether dropdown menus should drop up instead. |
$this->widget('bootstrap.widgets.TbMenu', array( 'type'=>'tabs', // '', 'tabs', 'pills' (or 'list') 'stacked'=>false, // whether this is a stacked menu 'items'=>array( array('label'=>'Home', 'url'=>'#', 'active'=>true), array('label'=>'Profile', 'url'=>'#'), array('label'=>'Messages', 'url'=>'#'), ), ));
$this->widget('bootstrap.widgets.TbMenu', array( 'type'=>'list', 'items'=>array( array('label'=>'LIST HEADER'), array('label'=>'Home', 'icon'=>'home', 'url'=>'#', 'active'=>true), array('label'=>'Library', 'icon'=>'book', 'url'=>'#'), array('label'=>'Application', 'icon'=>'pencil', 'url'=>'#'), array('label'=>'ANOTHER LIST HEADER'), array('label'=>'Profile', 'icon'=>'user', 'url'=>'#'), array('label'=>'Settings', 'icon'=>'cog', 'url'=>'#'), array('label'=>'Help', 'icon'=>'flag', 'url'=>'#'), ), ));
| Name | Type | Default | Description |
|---|---|---|---|
| type | array | striped, condensed | Grid types. Valid values are striped, bordered and/or condensed. |
| First name | Mark |
|---|---|
| Last name | Otto |
| Language | CSS |
$this->widget('bootstrap.widgets.TbDetailView', array( 'data'=>array('id'=>1, 'firstName'=>'Mark', 'lastName'=>'Otto', 'language'=>'CSS'), 'attributes'=>array( array('name'=>'firstName', 'label'=>'First name'), array('name'=>'lastName', 'label'=>'Last name'), array('name'=>'language', 'label'=>'Language'), ), ));
| Name | Type | Default | Description |
|---|---|---|---|
| type | array | Grid types. Valid values are striped, bordered and/or condensed. |
$gridDataProvider = new CArrayDataProvider(array( array('id'=>1, 'firstName'=>'Mark', 'lastName'=>'Otto', 'language'=>'CSS'), array('id'=>2, 'firstName'=>'Jacob', 'lastName'=>'Thornton', 'language'=>'JavaScript'), array('id'=>3, 'firstName'=>'Stu', 'lastName'=>'Dent', 'language'=>'HTML'), ));
$this->widget('bootstrap.widgets.TbGridView', array( 'type'=>'striped bordered condensed', 'dataProvider'=>$gridDataProvider, 'template'=>"{items}", 'columns'=>array( array('name'=>'id', 'header'=>'#'), array('name'=>'firstName', 'header'=>'First name'), array('name'=>'lastName', 'header'=>'Last name'), array('name'=>'language', 'header'=>'Language'), array( 'class'=>'bootstrap.widgets.TbButtonColumn', 'htmlOptions'=>array('style'=>'width: 50px'), ), ), ));
| Name | Type | Default | Description |
|---|---|---|---|
| type | string | vertical | Form type. Valid values are vertical, inline, horizontal and search. |
| inlineErrors | boolean | Whether to display errors as blocks. |
/** @var BootActiveForm $form */ $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array( 'id'=>'verticalForm', 'htmlOptions'=>array('class'=>'well'), )); <?php echo $form->textFieldRow($model, 'textField', array('class'=>'span3')); <?php echo $form->passwordFieldRow($model, 'password', array('class'=>'span3')); <?php echo $form->checkboxRow($model, 'checkbox'); <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'label'=>'Login')); <?php $this->endWidget();
/** @var BootActiveForm $form */ $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array( 'id'=>'searchForm', 'type'=>'search', 'htmlOptions'=>array('class'=>'well'), )); <?php echo $form->textFieldRow($model, 'textField', array('class'=>'input-medium', 'prepend'=>'<i class="icon-search"></i>')); <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'label'=>'Go')); <?php $this->endWidget();
/** @var BootActiveForm $form */ $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array( 'id'=>'inlineForm', 'type'=>'inline', 'htmlOptions'=>array('class'=>'well'), )); <?php echo $form->textFieldRow($model, 'textField', array('class'=>'input-small')); <?php echo $form->passwordFieldRow($model, 'password', array('class'=>'input-small')); <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'label'=>'Log in')); <?php $this->endWidget();
/** @var BootActiveForm $form */ $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array( 'id'=>'horizontalForm', 'type'=>'horizontal', )); <fieldset> <legend>Legend</legend> <?php echo $form->textFieldRow($model, 'textField', array('hint'=>'In addition to freeform text, any HTML5 text-based input appears like so.')); <?php echo $form->dropDownListRow($model, 'dropdown', array('Something ...', '1', '2', '3', '4', '5')); <?php echo $form->dropDownListRow($model, 'multiDropdown', array('1', '2', '3', '4', '5'), array('multiple'=>true)); <?php echo $form->fileFieldRow($model, 'fileField'); <?php echo $form->textAreaRow($model, 'textarea', array('class'=>'span8', 'rows'=>5)); <?php echo $form->uneditableRow($model, 'uneditable'); <?php echo $form->textFieldRow($model, 'disabled', array('disabled'=>true)); <?php echo $form->textFieldRow($model, 'prepend', array('prepend'=>'@')); <?php echo $form->textFieldRow($model, 'append', array('append'=>'.00')); <?php echo $form->checkBoxRow($model, 'disabledCheckbox', array('disabled'=>true)); <?php echo $form->checkBoxListInlineRow($model, 'inlineCheckboxes', array('1', '2', '3')); <?php echo $form->checkBoxListRow($model, 'checkboxes', array( 'Option one is this and that—be sure to include why it\'s great', 'Option two can also be checked and included in form results', 'Option three can—yes, you guessed it—also be checked and included in form results', ), array('hint'=>'<strong>Note:</strong> Labels surround all the options for much larger click areas.')); <?php echo $form->radioButtonRow($model, 'radioButton'); <?php echo $form->radioButtonListRow($model, 'radioButtons', array( 'Option one is this and that—be sure to include why it\'s great', 'Option two can is something else and selecting it will deselect option one', )); </fieldset> <div class="form-actions"> <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'type'=>'primary', 'label'=>'Submit')); <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'reset', 'label'=>'Reset')); </div> <?php $this->endWidget();
/** @var TbActiveForm $form */ $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array( 'id'=>'horizontalForm', 'type'=>'horizontal', )); <?php $this->widget('bootstrap.widgets.TbTabs', array( 'tabs'=>$this->getTabularFormTabs($form, $model), )); <div class="form-actions"> <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'type'=>'primary', 'label'=>'Submit')); <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'reset', 'label'=>'Reset')); </div> <?php $this->endWidget();
public function getTabularFormTabs($form, $model) { $tabs = array(); $count = 0; foreach (array('en'=>'English', 'fi'=>'Finnish', 'sv'=>'Swedish') as $locale => $language) { $tabs[] = array( 'active'=>$count++ === 0, 'label'=>$language, 'content'=>$this->renderPartial('_tabular', array('form'=>$form, 'model'=>$model, 'locale'=>$locale, 'language'=>$language), true), ); } return $tabs; }
<fieldset> <legend><?php echo CHtml::encode($language); translation</legend> <?php echo $form->textFieldRow($model, "[{$locale}]textField"); <?php echo $form->textAreaRow($model, "[{$locale}]textarea", array('class'=>'span8', 'rows'=>8)); <?php echo $form->checkBoxListRow($model, "[{$locale}]checkboxes", array( 'Option one is this and that—be sure to include why it\'s great', 'Option two can also be checked and included in form results', 'Option three can—yes, you guessed it—also be checked and included in form results', ), array('hint'=>'<strong>Note:</strong> Labels surround all the options for much larger click areas.')); </fieldset>
| Name | Type | Default | Description |
|---|---|---|---|
| heading | string | Heading text. | |
| encodeHeading | boolean | true | Whether to encode the heading text. |
| headingOptions | array | Heading text HTML attributes. | |
| htmlOptions | array | Hero unit HTML attributes. |
This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.
$this->beginWidget('bootstrap.widgets.TbHeroUnit', array( 'heading'=>'Hello, world!', )); <p>This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p> <p><?php $this->widget('bootstrap.widgets.TbButton', array( 'type'=>'primary', 'size'=>'large', 'label'=>'Learn more', )); </p> <?php $this->endWidget();
$this->widget('bootstrap.widgets.TbThumbnails', array( 'dataProvider'=>$listDataProvider, 'template'=>"{items}\n{pager}", 'itemView'=>'_thumb', ));
<li class="span3"> <a href="#" class="thumbnail" rel="tooltip" data-title="Tooltip"> <img src="http://placehold.it/280x180" alt=""> </a> </li>
| Name | Type | Default | Description |
|---|---|---|---|
| alerts | array | Alerts configurations. | |
| closeText | string|boolean | × | Close link text. Set to false in order to hide the close link. |
| block | boolean | true | Whether to display the alerts as blocks. |
| fade | boolean | true | Whether alerts should use transitions. |
| htmlOptions | array | Container HTML attributes. | |
| events | array | JavaScript event handlers. |
Yii::app()->user->setFlash('success', '<strong>Well done!</strong> You successfully read this important alert message.'); Yii::app()->user->setFlash('info', '<strong>Heads up!</strong> This alert needs your attention, but it\'s not super important.'); Yii::app()->user->setFlash('warning', '<strong>Warning!</strong> Best check yo self, you\'re not looking too good.'); Yii::app()->user->setFlash('error', '<strong>Oh snap!</strong> Change a few things up and try submitting again.');
$this->widget('bootstrap.widgets.TbAlert', array( 'block'=>true, // display a larger alert block? 'fade'=>true, // use transitions? 'closeText'=>'×', // close link text - if set to false, no close link is displayed 'alerts'=>array( // configurations per alert type 'success'=>array('block'=>true, 'fade'=>true, 'closeText'=>'×'), // success, info, warning, error or danger ), ); ?>
| Name | Type | Default | Description |
|---|---|---|---|
| type | string | Progress bar type. Valid values are info, success, warning and danger. | |
| striped | boolean | false | Whether the bar should be striped. |
| animated | boolean | false | Whether the bar should be animated. |
| percent | integer | 0 | Progress in percent. |
| htmlOptions | array | Progress bar HTML attributes. |
$this->widget('bootstrap.widgets.TbProgress', array( 'type'=>'danger', // 'info', 'success' or 'danger' 'percent'=>40, // the progress 'striped'=>true, 'animated'=>true, ));
| Name | Type | Default | Description |
|---|---|---|---|
| type | string | Label type. Valid values are success, warning, important, info and inverse. | |
| label | string | Label text. | |
| encodeLabel | boolean | true | Whether to encode the label text. |
| htmlOptions | array | Label HTML attributes. |
Default Success Warning Important Info Inverse
$this->widget('bootstrap.widgets.TbLabel', array( 'type'=>'success', // 'success', 'warning', 'important', 'info' or 'inverse' 'label'=>'Success', ));
| Name | Type | Default | Description |
|---|---|---|---|
| type | string | Badge type. Valid values are success, warning, important, info and inverse. | |
| label | string | Badge text. | |
| encodeLabel | boolean | true | Whether to encode the badge text. |
| htmlOptions | array | Badge HTML attributes. |
1 2 4 6 8 10
$this->widget('bootstrap.widgets.TbBadge', array( 'type'=>'success', // 'success', 'warning', 'important', 'info' or 'inverse' 'label'=>'2', ));
| Name | Type | Default | Description |
|---|---|---|---|
| prevLabel | string | ‹ | Previous button text. |
| nextLabel | string | › | Next button text. |
| slide | boolean | true | Whether the carousel items should slide. |
| displayPrevAndNext | boolean | true | Whether to display previous and next buttons. |
| items | array | Carousel item configuration. | |
| htmlOptions | array | Carousel HTML attributes. | |
| options | array | JavaScript plugin options. | |
| events | array | JavaScript event handlers. |
$this->widget('bootstrap.widgets.TbCarousel', array( 'items'=>array( array('image'=>'http://placehold.it/770x400&text=First+thumbnail', 'label'=>'First Thumbnail label', 'caption'=>'Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.'), array('image'=>'http://placehold.it/770x400&text=Second+thumbnail', 'label'=>'Second Thumbnail label', 'caption'=>'Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.'), array('image'=>'http://placehold.it/770x400&text=Third+thumbnail', 'label'=>'Third Thumbnail label', 'caption'=>'Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.'), ), ));
| Name | Type | Default | Description |
|---|---|---|---|
| autoOpen | boolean | false | Whether to automatically open the modal. |
| fade | boolean | true | Whether the modal should use transitions. |
| htmlOptions | array | Modal HTML attributes. | |
| options | array | JavaScript plugin options. | |
| events | array | JavaScript event handlers. |
$this->beginWidget('bootstrap.widgets.TbModal', array('id'=>'myModal')); <div class="modal-header"> <a class="close" data-dismiss="modal">×</a> <h4>Modal header</h4> </div> <div class="modal-body"> <p>One fine body...</p> </div> <div class="modal-footer"> <?php $this->widget('bootstrap.widgets.TbButton', array( 'type'=>'primary', 'label'=>'Save changes', 'url'=>'#', 'htmlOptions'=>array('data-dismiss'=>'modal'), )); <?php $this->widget('bootstrap.widgets.TbButton', array( 'label'=>'Close', 'url'=>'#', 'htmlOptions'=>array('data-dismiss'=>'modal'), )); </div> <?php $this->endWidget();
$this->widget('bootstrap.widgets.TbButton', array( 'label'=>'Click me', 'type'=>'primary', 'htmlOptions'=>array( 'data-toggle'=>'modal', 'data-target'=>'#myModal', ), ));
$this->widget('bootstrap.widgets.TbButton', array( 'label'=>'Click me', 'type'=>'danger', 'htmlOptions'=>array('data-title'=>'A Title', 'data-content'=>'And here\'s some amazing content. It\'s very engaging. right?', 'rel'=>'popover'), ));
| Name | Type | Default | Description |
|---|---|---|---|
| type | string | tabs | See TbMenu::type. |
| placement | string | Tab placement. Valid values are above, below, left and right. | |
| tabs | array | Tabs configuration. | |
| encodeLabel | boolean | true | Whether to encode labels. |
| htmlOptions | array | Tabs HTML attributes. | |
| events | array | JavaScript event handlers. |
Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.
Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.
Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.
$this->widget('bootstrap.widgets.TbTabs', array( 'type'=>'tabs', // 'tabs' or 'pills' 'tabs'=>array( array('label'=>'Home', 'content'=>'Raw denim you probably haven\'t heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.', 'active'=>true), array('label'=>'Profile', 'content'=>'Food truck fixie locavore, accusamus mcsweeney\'s marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.'), array('label'=>'Dropdown', 'items'=>array( array('label'=>'@fat', 'content'=>'Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney\'s organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven\'t heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.'), array('label'=>'@mdo', 'content'=>'Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.'), )), ), ));
I'm in Section 1.
Howdy, I'm in Section 2.
What up girl, this is Section 3.
I'm in Section 1.
Howdy, I'm in Section 2.
What up girl, this is Section 3.
I'm in Section 1.
Howdy, I'm in Section 2.
What up girl, this is Section 3.
I'm in Section 1.
Howdy, I'm in Section 2.
What up girl, this is Section 3.
$this->widget('bootstrap.widgets.TbTabs', array( 'type'=>'tabs', 'placement'=>'below', // 'above', 'right', 'below' or 'left' 'tabs'=>array( array('label'=>'Section 1', 'content'=>'<p>I\'m in Section 1.</p>', 'active'=>true), array('label'=>'Section 2', 'content'=>'<p>Howdy, I\'m in Section 2.</p>'), array('label'=>'Section 3', 'content'=>'<p>What up girl, this is Section 3.</p>'), ), ));
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce ut velit sem, id elementum elit. Quisque tincidunt magna in quam luctus a ultrices tellus luctus. Pellentesque at tellus urna. Ut congue, nibh eu interdum commodo, ligula urna consequat tortor, at vehicula tellus est a orci. Maecenas nec ligula sed ipsum posuere sollicitudin pretium ac sapien. Sed odio dui, pretium eu pellentesque ac, tempor sed sem.
<p class="well"> Lorem ipsum dolor sit <a href="#" rel="tooltip" title="First tooltip">amet</a>, consectetur adipiscing elit. Fusce ut velit sem, id elementum elit. Quisque tincidunt magna in quam luctus a ultrices tellus luctus. Pellentesque at tellus urna. Ut congue, <a href="#" rel="tooltip" title="Another tooltip">nibh eu</a> interdum commodo, ligula urna consequat tortor, at vehicula tellus est a orci. Maecenas nec ligula sed ipsum posuere sollicitudin pretium ac sapien. Sed odio dui, pretium eu pellentesque ac, <a href="#" rel="tooltip" title="Yet another tooltip">tempor</a> sed sem. </p>
| Name | Type | Default | Description |
|---|---|---|---|
| options | array | JavaScript plugin options. |
$this->widget('bootstrap.widgets.TbTypeahead', array( 'name'=>'typeahead', 'options'=>array( 'source'=>array('Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Dakota', 'North Carolina', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'), 'items'=>4, 'matcher'=>"js:function(item) { return ~item.toLowerCase().indexOf(this.query.toLowerCase()); }", ), ));
Comments
Back to top ↑