Partial Render In Layout

Ciao ragazzi,

per la mia webapp sto utilizzando il layout column2, e volevo far visualizzare nella colonna di sinistra il form per effettuare il login, esattamente quello che c’è nella view login che genera yii.

Ho provato con




$this->renderPartial('site/view');



Però va in errore dicendo che non trova nessun model.

Gentilmente, potreste indicarmi come dovrei fare?

Oppure sono costretto a copiare il codice html della pagina? (Soluzione che vorrei evitare)

Grazie in anticipo,

A presto

Quando richiami una renderpartial, devi sempre passare le variabili che userai nella view richiamta.

Probabilmente nella view che richiami serve il $model e tu dovresti passarglielo così:


$this->renderPartial('site/view',

array('model'=>$model_da_passare,

      'variabile'=>altra_variabile_da_passare));

Fai un widget, ovvero una classe in components che estende cwidget.


class LoginWidget extends CWidget

{

  public function run()

  {

     $model= ...

     $this->render('login', array('model'=>$model));

  }

}

Il widget e’ una specie di piccolo controller che puoi includere in qualsiasi view, serve per avere un punto a livello di controller in cui, per esempio, raccogliere i dati di input e contollarli.

Lo includi cosi:

<?php $this->widget(‘LoginWidget’)?>

Ciao zaccaria,

ho creato il widget come hai detto tu, ma non trova la view:




LoginWidget cannot find the view "login".



Ho provato a passare il percorso "site/login" ma non lo trova.

Secondo te, quale percorso dovrei specificare?

Ok, sono riuscito a specificare il percorso giusto solo che ora non carica nulla.

Pagina bianca :blink: