Domanda

Ho notato che Yii crea strana serie di directory (nomi come 8523d23 o 10s89b92) nella directory degli asset, e questo accade anche in fase di esecuzione. Ad esempio, una delle mie tabelle ottenuto più di 10 record, impaginazione calci-in e ho ottenuto un nuovo file in immobilizzazioni sottodirectory denominata pager.css.

Quando mi muovo il mio sito dalla sperimentazione alla produzione, dovrei copiare tutti coloro, o semplicemente creare un vuoto "attività" directory, e sarà riempito in fase di esecuzione?

Se voglio aggiungere, ad esempio, qualche nuovo plugin jQuery, come devo procedere?

Per esempio, vorrei aggiungere jquery.charcounter.js, faccio a copiare a beni oa yii/framework/web/js/source? Se faccio la seconda, come faccio ad ottenere questo js file incluso nella pagina HTML di output?

È stato utile?

Soluzione

assets dovrebbe essere una directory scrivibile. Yii si prende cura dei beni.

Chiamando Yii::app()->assetManager->publish() alcuni fogli di stile, immagini, script, o anche intere directory possono essere messi in una cartella web-visibile.

altri file non familiari pager.css e sono prodotti da widget (CLinkPager per esempio) e altri componenti (come ad esempio CClientScript pubblica jQuery ogni volta che avete bisogno di questo).

Durante la distribuzione, la cartella deve essere vuota, ma in realtà non importa.

plugin Aggiunta non dovrebbe mai essere fatto attraverso le cartelle quadro. Li sia possibile inserire in components dir e pubblicarlo runtime Se necessario, o in qualsiasi altra cartella visibile conveniente (come come images o css).

Aggiornamento

Per incorporare jquery.charcounter.js, metterlo nella directory components, quindi chiamare

Yii::app()->clientScript->registerScriptFile(
    Yii::app()->assetManager->publish(
        Yii::getPathOfAlias('application.components').'/jquery.charcounter.js'
    ),
    CClientScript::POS_END
);

Per quanto riguarda i nomi delle cartelle strani, sono fermamente convinto che siano hash unici (o una parte), in modo che possono essere differenziati se l'applicazione utilizza diverse estensioni.

Altri suggerimenti

Questo risolverebbe la query come questo fornisce una spiegazione dettagliata per la cartella asset:

http://www.yiiframework.com/wiki/148/understanding-assets /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top