Path vers les assets

Hello,

Je viens de me mettre à Yii et je me posais une question tout bête :

J’ai l’habitude de définir une url vers mes assets (dans le sens toutes les assets soit: js, css, images, yii assets …) que je peux changer à tout moment si mon dossier d’assets change de place sur le serveur…

Quel serait le meilleur moyen de le faire (pour rester yii complient) ?

J’ai pensé aux solutions suivantes :

  • Définir une constante dans le fichier de config main.php

  • Définir un paramètre d’application dans le fichier de config main.php (mais dans ce cas je dois au préalable créé une variable $assets_url en début de fichier pour aussi l’utiliser dans le composant ‘assetManager’)

  • Définir un alias (avec setPathOfAlias) dans le fichier de config mail.php (mais je pense que c’est réservé aux paths et non aux urls)

Le but est évidemment d’utiliser cette url lorsque je fais appel à mes images, css … (Yii::app()->request->baseurl.URL_ASSET.l’asset …)

Merci ! :)

Maxime.

Avec Yii::app()->assetManager tu récupère l’instance de l’assetManger.

En regardant la documentation ici : http://www.yiiframework.com/doc/api/1.1/CAssetManager#baseUrl-detail

On vois que baseUrl est pile ce que tu cherche si j’ai bien compris.

Avec Yii::app()->assetManager->baseUrl tu récupère donc le répertoire contenant tes assets.

Cordialement,

BestPig

Hello et merci BestPig !

Par contre je pense par que ça soit ce que je cherche. Il me semble que cette méthode retourne l’url vers les assets publiées par Yii (celles des extentions, modules …).

Dans mon cas je cherche une url vers le dossier qui contient l’ensemble des assets (celles générées par Yii et les miennes pour l’appli)

En gros arborescence serait :

webroot/assets/

[indent]js/[/indent]

[indent]css/[/indent]

[indent]img/[/indent]

[indent]assets/[/indent]

La méthode va me retourner webroot/assets/assets/, tandis que je veux juste le répertoire webroot/assets/

Maxime.

PS: Pour clarifier, j’appelle l’ensemble des fichiers statiques utilisés pour l’application assets (sauf que Yii à la bonne idée d’utiliser ce même nom pour le répertoire dans lequel sont publiées les assets (au lieu de quelque chose comme “publish”) des modules et extensions …)