Sito statico con Yii di base

Ho appena iniziato un sito e volevo usare la base di Yii per gestire i vari templates così ho creato la base più sintetica di questo mondo:




<?php


class SiteController extends CController

{

	public function actionIndex()

	{

		CController::render("index");

	}

}



ottenendo

Che cosa non gli va a genio ovvero … come devo definire le briciole di pane per far fungere sta cosa?

Nel codice generato da yiic… nell folder protected components si trova il file Controller.php… e tutti i altri controller lo estendono

tu hai cambiato in “SiteController extends CController” cosi hai perso le briciole :D

Non ho capito =(.

Pensavo intendessi dire che SiteController è un nome riservato e creava confusione, così ho creato un nuovo controller che ho chiamato Project. Ho rinominato i files, il nome della classe e tutto quello che serviva. Sono arrivato ad ottenere lo stesso errore: Property "ProjectController.breadcrumbs" is not defined.

Ho tentato anche in questo modo:




class ProjectController extends CController

{


	public function actionIndex()

	{


		$this->breadcrumbs = array(

			'About',

		);

		$this->render("index");


	}


}



ma ottengo sempre lo stesso errore.

Invece di fare


class SiteController extends CController

meti


class SiteController extends Controller

Controler invece di CControler…

Se dai un occhio al codice generato da yiic vedrai in SiteController la seconda versione…

Si ho provato anche questa soluzione, solo che non mi trova il file Controller.

Cmq ho risolto, per ora, modificando il template index:




<?php

$this->pageTitle=Yii::app()->name . ' - About';

$this->breadcrumbs=array(

	'About',

);

?>

<h1>About</h1>


<p>This is the "about" page for my blog site.</p>



e più precisamente, togliendo queste righe:




$this->breadcrumbs=array(

	'About',

);



Ora la pagina viene visualizzata correttamente.

Come ho scritto sopra il file Controller viene generato automaticamente da yiic e si trova nel folder protected/components…

Questo l’ho capito. Continuo a non capire come va definito il breadcrumbs.

hai guardato nel file Controler.php… e li che e definito…


	public $breadcrumbs=array();

Chiedo venia a tutti. Non avevo creato il sito con il comando yiic quindi mancava mezzo mondo e stavo creando una cosa snaturata. Ora sono ripartito da capo ed ho sistemato i vari template al posto giusto. Scusate.

Non preoccuparti.

Il fatto e’ che il sito generato da Yiic aggiunge un sacco di cose rispetto al default.

Se vuoi partire da zero non ti conviene usare Crud (o Gii) perche’ fanno conto su quanto generato da Yiic.

Se vuoi usare la genearazione automatica, parti generando automaticamente tutto.

Per ovviare a questo "gradino" fra la versione base del framework e la versione potenziata dal codice auto-generato, sarebbe bello avere un secondo sistema di generazione, o una seconda variante del codice autogenerato, diciamo light, che funzioni:

senza breadcrumb

senza menu opzioni

senza zii widget

Insomma, la versione di novembre, dicembre 2009, quando Yii era giovane, snello e facile da imparare :)

Cosa ne pensano i grandi leader?

Dopo aver postato domande insulse come questa, mi sono ripreso il manuale del blog. Ho passato una giornata a mettermi a ridere per l’emozione con le mani in faccia dall’eccitazione. Yii è fabuloso! E’ così strabilioso che non mi sono nemmeno dovuto leggere troppa documentazione per realizzare un sitarello con modulo eventi e modulo iscrizioni, chiavi esterne uno a molti, iscrizioni (con dati sensibili) protette in lettura. Cioè… è fantastico!