[Risolto] Id Da View A _Form

Salve,

sono nuovo a yii e avrei bisogno di un vostro aiuto, siccome ho qualche difficoltà a trovare una soluzione al mio problema…

ho una pagina per gestire le locazioni, da questa pagina (nella view), tramite il submenu “operations”, io vorrei essere mandato nella _form di un’altra tabella (img) la quale mi consentirebbe di aggiungere una nuova immagine passando l’id (che fa da relazione tra le 2 tabelle) della locazione da cui arrivo.

ora ho modificato la view.php della tabella "loc" come segue




$this->menu=array(

    array('label'=>'Lista Locazioni', 'url'=>array('index')),

    array('label'=>'Modifica Locazione', 'url'=>array('update', 'id'=>$model->loc_id)),

    array('label'=>'Elimina Locazione', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->loc_id),'confirm'=>'Eliminare definitivamente il record corrente?')),

    array('label'=>'Gestione Locazioni', 'url'=>array('admin')),

    array('label'=>'Aggiungi Immagine', 'url'=>'../img/create'), //questa é la connessione che ho aggiunto

);



e questa é la _form.php della tabella img




<div class="row">

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

		<?php echo $form->dropDownList($model,'loc_riferimento', CHtml::listData(Loc::model()->findAll(), 'loc_id', 'loc_id')); ?>

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

	</div>



adesso l’id viene selezionato direttamente dall’utente tramite una dropdownlist, io vorrei fosse automatico…

Spero di essere stato abbastanza chiaro.

Grazie in anticipo!

Ciao,

forse potresti cambiare approccio creando delle azioni nel controller Locazioni del tipo:


 

public function actionAggiungiImmagineView($id)

    {

        // $id will be populated with $_GET['id']

    }



Risolto il problema, ho scovato un metodo (anche se tutt’altro che elegante) funzionale;

ho aggiunto alla view della locazione




Yii::app()->session['locID'] = $model->loc_id;



nella _form dell’immagine ho aggiunto e modificato come segue




$locID = Yii::app()->session['locID'];


<div class="row">

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

            <?php echo $form->dropDownList($model,'loc_riferimento', CHtml::listData(Loc::model()->findAll(), 'loc_id', 'loc_id'), array('prompt' => $locID)); ?>

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

	</div>



alla fine della _form ho poi svuotato la sessione




unset(Yii::app()->session['locID']);



Grazie comunque Alfire!

Potresti provare a modificare allora il controller img di modo che accetti come parametro location_id passato nella url

Gestione url