[Solucionado] Relaciones Utilizando Yiibooster

Muy a todos, vengo en busca de un poco de asesoria, recientemente empeze a utilizar Yii y escogi YiiBooster para darle color a mi sistema.

He estado creando mis relaciones en los form de esta manera de acuerdo a unos tutoriales:


<div class="form-group">

		<?php echo $form->labelEx($model,'RolUsuario'); ?><br>

		<?php echo $form->dropDownList($model,'RolUsuario',CHtml::listData(CatRol::model()->findall("EstadoRol=1"),'CodigoRol','NombreRol')); ?>

		<?php echo $form->error($model,'RolUsuario'); ?>

	</div>

Ahora mi problema es que al utilizar los dropDownListGroup de Yiibooster esas relaciones se pierden y mis dropdown no muestran dato alguno, agradeceria su ayuda para poder realizar lo que necesito de una manera correcta.

Aparte de un error de sintaxis (debería ser findAll con A mayúscula) el comando se ve bien. ¿Recibes algún mensaje de error específico?

Pues no, ningun error como explique funciona a la perfeccion asi como esta pero al cambiar dropDownList por dropDownListGroup de yiibooster es que pierde la relacion y no muestra datos…

Suena como un error de sintaxis porque dropDownListGroup de Yiibooster lo que hace es encapsular las 3 oraciones (labelEx, dropDownList y error) en un solo comando, pero la sintaxis es algo diferente. Postea tu código para ver si se detecta algo.

Agradesco mucho la ayuda que me estas brindando, ahi va el codigo del formulario…


<div class="col-md-8">

<div class="form">

<div class="well">

<?php $form=$this->beginWidget('booster.widgets.TbActiveForm', array(

	'id'=>'cat-usuario-form',

	'enableAjaxValidation'=>true,

	'htmlOptions' => array(

            'autocomplete' => 'off'

        )

)); ?>


	<legend><p class="note">Campos con <span class="required">*</span> son requeridos.</p></legend>


	<?php echo $form->errorSummary($model); ?>


	<div class="form-group">

		

		<?php echo $form->textFieldGroup($model,'NombreUsuario',array('size'=>60,'maxlength'=>100)); ?>

		<?php echo $form->error($model,'NombreUsuario'); ?>

	</div>


	<div class="form-group">

	

		<?php echo $form->textFieldGroup($model,'Usuario',array('size'=>60,'maxlength'=>100)); ?>

		<?php echo $form->error($model,'Usuario'); ?>

	</div>


	<div class="form-group">

	

		<?php echo $form->passwordFieldGroup($model,'Clave',array('size'=>60,'maxlength'=>100)); ?>

		<?php echo $form->error($model,'Clave'); ?>

	</div>

	

	

    <div class="form-group"> 

  

    <?php echo $form->passwordFieldGroup($model,'Clave_repeat',array('size'=>60,'maxlength'=>100)); ?>    

    <?php echo $form->error($model,'Clave_repeat'); ?> 

    </div>

	

	<div class="form-group">

		<?php echo $form->labelEx($model,'EstadoUsuario'); ?><br>

		<?php echo $form->dropDownList($model,'EstadoUsuario',CatUsuario::getEstado()); ?>

		<?php echo $form->error($model,'EstadoUsuario'); ?>

	</div>

	

   

	

	<div class="form-group">

		<?php echo $form->labelEx($model,'RolUsuario'); ?><br>

		<?php echo $form->dropDownList($model,'RolUsuario',CHtml::listData(CatRol::model()->findall("EstadoRol=1"),'CodigoRol','NombreRol')); ?>

		<?php echo $form->error($model,'RolUsuario'); ?>

	</div>

	

     <div class="form-group">

		

		<?php echo $form->textFieldGroup($model,'DuiUsuario',array('size'=>15,'maxlength'=>15)); ?>

		<?php echo $form->error($model,'DuiUsuario'); ?>

	</div>


	<div class="form-group">

		

		<?php echo $form->textFieldGroup($model,'TelefonoUsuario',array('size'=>15,'maxlength'=>15)); ?>

		<?php echo $form->error($model,'TelefonoUsuario'); ?>

	</div>


	<div class="form-group">

		

		<?php echo $form->textFieldGroup($model,'CorreoUsuario',array('size'=>35,'maxlength'=>35)); ?>

		<?php echo $form->error($model,'CorreoUsuario'); ?>

	</div>





<br>


	<div class="form-group">

		<?php echo CHtml::submitButton($model->isNewRecord ? 'Crear' : 'Guardar',array("class"=> "btn btn-primary")); ?>

	</div>

	<?php $this->endWidget(); ?>

</div>

</div>

</div>

De esa manera los dropDownList se visualizan y funcionan de manera correcta:5870

dropDown.png

pero si cambio dropDownList por dropDownListGroup de Yiibooster pierde sus datos 5871

dropGroup.png

En la versión de YiiBooster que estoy usando (4.0.1 para Bootstrap 3) la sintaxis de dropDownListGroup es la siguiente:




<?= $form->dropDownListGroup($model,'tenant_id',['wrapperHtmlOptions'=>['class'=>'col-md-5'],'widgetOptions'=>['data'=>$this->FetchActiveTenants]]); ?>



El parámetro ‘data’ es el que suple los valores al dropDown. En mi caso prefiero mantener la estructura MVC así que la vista no llama directamente al modelo (e.g. usando listData) sino que llama a una función del controlador, que a su vez llama a una función del modelo que es la que genera el listData.

Chequea a ver si usando dropDownListGroup de esta manera te funciona.

Funciono a la perfeccion muchisimas gracias por tu ayuda… :)