11 votes

Où placer les ressources communes dans yii2 advanced ?

Je veux accéder à mon css y javascript dans les deux frontend y backend .

Donc, ma question est de savoir où je mets css y javascript pour qu'ils soient accessible pour le front-end et le back-end.

Ou y a-t-il un moyen de réutiliser fichiers c'est-à-dire que j'ai mis mon fichier css dans web dossier de backend et l'utiliser dans frontend .

Gracias

10voto

Nastya Kizza Points 197

Comme il est dit aquí , vous pouvez faire un asset bundle dans le dossier @common et définir la propriété $sourcePath, en utilisant un alias ou un chemin absolu vers le répertoire contenant vos scripts et vos styles. Le répertoire scripts peut ne pas être accessible sur le web.

Essayez quelque chose comme ça :

namespace common\assets;
use yii\web\AssetBundle;
/**
 * Main frontend application asset bundle.
 */
class CommonAsset extends AssetBundle
{
    public $sourcePath = '@common/scripts';
    public $css = [
    ];
    public $js = [
        'blabla.js'
    ];
    public $depends = [
    ];
}

Et placez vos scripts dans common/scripts. N'oubliez pas non plus d'enregistrer cet actif dans votre layout ou dans une autre vue :

use common\assets\CommonAsset; 
CommonAsset::register($this);

Ça a marché pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X