2011-12-30 6 views
8

Da questa pagina,Dove devo inserire i miei file widget personalizzati nel framework Yii?

http://www.yiiframework.com/wiki/23/how-to-create-a-breadcrumb-widget/

sembra che suggerisce che dovremmo mettere i file nella cartella dei componenti. Ma se il mio widget contiene file javascript e css, dove dovrebbero essere collocati questi file?

A proposito, è una buona idea che io lo crei come estensione? Se vado in questo modo, tutti i file widget sono più autosufficienti in una cartella all'interno della cartella di estensione. Ma dal momento che il widget su cui sto lavorando è molto personalizzato, è improbabile che possa essere utile ad altre persone o ai miei altri progetti. Farne un'estensione sembra un po 'strano.

Capisco che non importa dove ho messo questi file finché i percorsi che sto usando nei codici sono corretti ma mi piacerebbe conoscere la pratica comune.

risposta

11

Penso che la pratica comune sia quella di mettere il widget nella cartella estensioni con i file js & css in una cartella denominata asset. Nel file di classe php, si inizializza innanzitutto pubblicando la risorsa con yii asset manager. La struttura del file può essere come

extensions/ 
    widget_name/ 
    widget.class.php 
    assets/ 
     plugin.js 
     style.css 
+1

puoi spiegare come pubblicare questi file e utilizzare questi file nel file di visualizzazione. – Hemc

+0

La cartella di estensione non si vede quando inserisco l'app di utilizzo \ ... \ WidgetName.php. Come può essere aggiunto lì? – Tebe

8

vorrei unire la raccomandazione di mettere il widget di sotto /protette/estensioni. ho messo il patrimonio in un modo leggermente più dettagliato: /protette/estensioni/WidgetClassName/attività/ ei file widget di vista in /protette/estensioni/WidgetClassName/views/...

Non dimentica di modificare /protected/config/main.php e aggiungi una riga nella sezione 'importazione' (per il caricamento automatico del widget): 'ext.WidgetClassName.WidgetClassName. * '

+1

Grazie per il promemoria :) – bobo