cambiare autogenerazione default dei form

Vorrei far si che i form di inserimento autogenerati (views/<model>/_form.php) tengano conto di alcune proprietà dei campi per cui vengono forniti le varie textField.

Per essere più chiaro faccio un esempio pratico.

Ho una tabella news con i seguenti campi:

id PK

tipo enum(‘normale’, ‘speciale’)

titolo varchar(120)

testo text

owner_id FK

vorrei che views/news/_form.php autogenerato fornisse:

dropdownlist per tipo e owner_id

textField per titolo

ckeditor per testo

Riesco a fare tutto questo operando di volta in volta a livello di controller e view, ma vorrei che questo comportamento sostituisse quello di default.

Quale sarebbe il giusto approccio?

Grazie in anticipo per le risposte.

Non credo che yii lo faccia già oggi. Però in questo momento, vedo come unica soluzione il mettere mano al framework, in particolare alla parte che genera questi form.

Intanto grazie per la risposta.

Penso di aver capito quale file è coinvolto:

framework\gii\generators\crud\CrudCode.php in particolare i metodi:

-generateActiveField

-generateInputField

Tale file è referenziato da ‘framework\gii\generators\crud\CrudGenerator.php’ che contiene semplicemente:


public $codeModel='gii.generators.crud.CrudCode';

Dunque pensavo di settare $codeModel a ‘gii.generators.crud.CrudCode2’ e creare

framework\gii\generators\crud\CrudCode2.php in tutto e per tutto identico a

framework\gii\generators\crud\CrudCode.php eccezion fatta per i metodi coinvolti nella generazione dei campi del form.

Esiste un approccio migliore?

dai un occhiata a giix - http://www.yiiframew.../extension/giix

e a Extending Gii - http://www.yiiframework.com/doc/guide/1.1/en/topics.gii#extending-gii

Il bello di yii è che fa un sacco di roba, ma ha un’infinità interminabile di estensioni. Fa tutto!!! Lo amo!

Già, è veramente completo, e a mano a mano che lo studio, imparo tante cose anche non direttamente legate al framework.

Grazie a entrambe per le risposte.