Salve a tutti di nuovo!
Come al solito penso di avere una domanda un po stupida…ma la butto li!
Ho la necessità di suddividere i campi creati dal CRUD in un file _form.php, in più Tab (per puro ordine visivo e non avere una pagina lunghissima), evitando (se possibile) la creazione di più pagine da richiamare con il renderPartial/Ajax, poiché, alla fine, tutti i dati presenti in tutti i tab DEVONO essere salvati all’unisono con lo stesso model…senza troppe complicazioni.
Sono più o meno riuscito nell’intento, ma con il metodo che ho implementato (ovvero racchiudere le singole ‘row’ in variabili da passare ai tab come sorgente statico) ho riscontrato una difficoltà: non riesco a passargli i campi data, per i quali uso il componente CJuiDatePicker, poichè mi dice non convertibili in stringa.
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'sito-form',
'enableAjaxValidation'=>false,
)); ?>
<p class="note">I campi contrassegnati con<span class="required">*</span> sono obbligatori.</p>
<?php echo $form->errorSummary($model); ?>
<?php
// tentativo con dati semplici (FUNZIONA)
$tab1 = "
<div class='row'>".
$form->labelEx($model,'num_catalogo_generale').
$form->textField($model,'num_catalogo_generale',array('size'=>60,'maxlength'=>250)).
$form->error($model,'num_catalogo_generale')."
</div>
<div class='row'>".
$form->labelEx($model,'suffisso_num_catalogo_generale').
$form->textField($model,'suffisso_num_catalogo_generale',array('size'=>60,'maxlength'=>250)).
$form->error($model,'suffisso_num_catalogo_generale')."
</div>
<div class='row'>".
$form->labelEx($model,'protocollo').
$form->textField($model,'protocollo').
$form->error($model,'protocollo')."
</div>";
// tentativo con dati complessi (MUORE DURANTE LA CONVERSIONE DEL DATEPICKER)
$tab2 = "
<div class='row'>".
$form->labelEx($model,'data_scheda').
// questo provavo ad integrarlo nella variabile $tab2..ma senza esito positivo
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model'=>$model,
'attribute'=>'data_scheda',
'value'=>$model->data_scheda,
'options'=>array(
'showAnim'=>'fold', // 'show' (the default), 'slideDown', 'fadeIn', 'fold'
'showOn'=>'button', // 'focus', 'button', 'both'
'buttonText'=>Yii::t('ui','Select form calendar'),
'buttonImage'=>Yii::app()->request->baseUrl.'/images/calendar.png',
'buttonImageOnly'=>true,
'dateFormat'=>Yii::app()->params['globalDateFormat'],
'changeMonth'=>'true',
'changeYear'=>'true',
'firstDay'=>'1',
),
'htmlOptions'=>array(
'style'=>'width:80px;vertical-align:top'
),
)).
$form->error($model,'data_scheda')."
</div>
<div class='row'>".
$form->labelEx($model,'definizione').
$form->dropDownList($model,'definizione',CHtml::listData(SitoDefinizione::model()->findAll(),'id','descrizione'), array('prompt'=>'Selezionare una Definizione')).
$form->error($model,'definizione')."
</div>";
// create tabs
$this->widget('zii.widgets.jui.CJuiTabs', array(
'tabs'=>array(
'Dati Principali' =>array('content'=>$tab1),
'Dati Secondari' =>array('content'=>$tab2),
),
// additional javascript options for the tabs plugin
'options'=>array(
'collapsible'=>true,
),
));
?>
Mi suggerite un metodo più ‘sano’ per fare ciò?
Grazie in anticipo a tutti!!!