Lauyout Diversi

Ciao a tutti,

anzichè fare un piccolo lavoretto, in wp o joomla ho deciso di riprendere yii.

cosi rispolvero un po la mia conoscenza… scarsa… :D

Mi scontro con un problema che credo in passato di aver già risolto, ma no ricordo come :D

Fondamentalmente ho tre tipologie di layout:

  1. Una home con slider di immagini

  2. Pagine statiche che hanno un layout diverso dalla home

  3. Una pagina per contatti dove andrei a mettere il modulo contatti e un mappa.

se metto lo slider nell main.pho poi me lo ritrovo in tutte le pagine…

come faccio per avere coìè come descritto tre tipi diversi di layout?

grazie

Giuseppe

Ciascuna action richiama un certo layout. A sua volta un layout richiama un layout principale. Normalmente i nostri controller hanno come layout ‘//layouts/column2.php’ oppure ‘//layouts/column1.php’. Questi tipi di layout contengono questo codice:




<?php $this->beginContent('/layouts/main'); ?>

 ... codice HTML ...

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



Quindi se hai 3 diversi main:

  • main-uno.php

  • main-due.php

  • main-tre.php

nei controller che devono usare un certo main devi indicare il nome esatto del layout che li carica, ad esempio:




<?php $this->beginContent('/layouts/main-uno'); ?>

 ... codice HTML ...

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



oppure se non riguarda tutto il controller ma solo un’action specifica,

dentro l’azione dichiara:




$this->layout = 'tuolayout';



Questo codice lo puoi usare anche direttamente dall’interno di ogni singola view: quella vista particolare utilizzerà il layout da te indicato. Ovviamente prima devi aver creato il layout :)

grazie mille ragazzi… ! provo a mettere in pratica subito!!!

:rolleyes: :rolleyes:

se devi rispettare il pattern, va messo nel controller, non nella view.