Reputation: 155
I am trying to put in the content of a wizard form of yiibooster a widget, but i can't make it work. The idea is the customer to have a step by step form, selecting in each content some data.
The widget is this:
$this->widget(
'bootstrap.widgets.TbWizard',
array(
'type' => 'tabs', // 'tabs' or 'pills'
'pagerContent' => '<div style="float:right">
<input type="button" class="btn button-next" name="next" value="Siguiente" />
</div>
<div style="float:left">
<input type="button" class="btn button-previous" name="previous" value="Atrás" />
</div>
<br /><br />',
'options' => array(
'nextSelector' => '.button-next',
'previousSelector' => '.button-previous',
'onTabShow' => 'js:function(tab, navigation, index) {
var $total = navigation.find("li").length;
var $current = index+1;
var $percent = ($current/$total) * 100;
$("#wizard-bar > .bar").css({width:$percent+"%"});
}',
'onTabClick' => 'js:function(tab, navigation, index) {alert("Tab Click Disabled");return false;}',
),
'tabs' => array(
array(
'label' => 'Arrendatarios',
'content' => 'Home Content',
'active' => true
),
array('label' => 'Inmuebles', 'content' => 'Profile Content'),
array('label' => 'Fecha', 'content' => 'Messages Content'),
),
)
);
An I want in each 'content' tab something like this:
$this->widget('bootstrap.widgets.TbGridView',
array(
'id'=>'arrendatario',
'selectableRows'=>1,
'selectionChanged'=>'obtenerArrendatario',
'type'=>'striped bordered condensed',
'dataProvider'=>$arrendatarios->search(),
'filter' => $arrendatarios,
'template'=>"{items}\n{pager}",
'columns'=>array(
array('name'=>'arrendatario_id_personal', 'header'=>'DNI',),
array('name'=>'arrendatario_nombre', 'header'=>'Nombre'),
array('name'=>'arrendatario_email', 'header'=>'Email'),
),
));
Can anyone help me?
Thanks!
Upvotes: 2
Views: 1230
Reputation: 2116
Yes you can do this like.
First make views which contain Cgridview or anything u want. for example u have made 3 view files named _form_basic,_form_location,_form_officialUse
. Now you can render them as given below.
$this->widget('bootstrap.widgets.TbWizard', array(
'type' => 'pills', // 'tabs' or 'pills'
'options' => array(
//'onTabShow' => 'js:function(tab, navigation, index) { if((index+1) > 1) {alert("Tab #" + (index+1));} }',
'onTabClick' => 'js:function(tab, navigation, index) {return false;}',
),
'tabs' => array(
array('label' => 'Basic Information', 'content' => $this->renderPartial('pages/_form_basic', array('model' => $model, 'form' => $form), true), 'active' => true),
array('label' => 'Residential Information', 'content' => $this->renderPartial('pages/_form_location', array('model' => $model, 'form' => $form), true)),
array('label' => 'Official Information', 'content' => $this->renderPartial('pages/_form_officialUse', array('model' => $model, 'form' => $form), true)),
),
)
);
Do anything u want in the pages like CgridView or anything else u want.
Upvotes: 1