Méthode Yii de référencement des actifs : placez d'abord les ressources dont vous avez besoin sous [modules/admin/assets] ; puis publiez les ressources privées dans le répertoire public puis placez-les sous [/assets] dans le répertoire du site Créer ; un dossier aléatoire et non conflictuel ; copiez simplement les fichiers à la fin.
Méthode des actifs de référence Yii :
Pourquoi utiliser les actifs YII
1. Le rôle des actifs est de faciliter la modularisation et le plug-in. De manière générale, pour des raisons de sécurité, l'accès aux fichiers sous protégés via URL n'est pas autorisé, mais nous souhaitons également séparer le module, nous devons donc utiliser la publication, c'est-à-dire un répertoire Copiez le fichier ci-dessous dans les actifs pour un accès facile via l'url
$assets = Yii::getPathOfAlias('ext').'/css'; //$baseUrl = Yii::app()->getAssetManager()->publish($assets); $baseUrl = Yii::app()->assetManager->publish($assets); //extensions/css发布到assets的创建一个随机不冲突的文件夹下 Yii::app()->clientScript->registerCssFile($baseUrl.'/main.css');//引用assets下面的main.css
2. Si un module doit ajouter des ressources, référencez-les simplement et ajoutez-les directement à partir de la racine Web.
Mais essayez de créer un module qui peut être référencé n'importe où, être indépendant des ressources et éviter les conflits de noms.
Comment vous assurer que vos noms de fichiers n'entrent pas en conflit avec certaines applications dispersées essayant d'utiliser le même nom pour les fichiers, il en va de même pour js, images, css.
Grâce à CAssetManager, Yii::app()->assetManager peut publier automatiquement des ressources privées dans le répertoire public webroot/assets
Recommandations d'apprentissage associées : Tutoriel yii
Ce qui suit prend le module d'administration comme exemple
1 Placez les ressources dont vous avez besoin sous modules/admin/assets
.
2. Ensuite, via CAssetManager, Yii::app()->assetManager peut publier automatiquement des ressources privées dans le répertoire public, le répertoire/actifs du site Web
3. dossier non conflictuel sous /assets
dans le répertoire du site Web, tel que 2b31b42b, et copiez-y les fichiers de votre répertoire modules/admin/assets
.
est obtenu grâce au code suivant, modifiez le fichier protectedmodulesadminAdminModule.php
,
<?php class AdminModule extends CWebModule { private $_assetsUrl; public function getAssetsUrl() { if($this->_assetsUrl===null) $this->_assetsUrl=Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('application.modules.admin.assets')); return $this->_assetsUrl; } public function setAssetsUrl($value) { $this->_assetsUrl=$value; } }
puis utilisez $this->module- in /protected/modules/admin/views/layouts/main .php >assetsUrl peut appeler votre CSS et d’autres fichiers.
<link rel="stylesheet" type="text/css" href="<?php echo $this->module->assetsUrl; ?>/css/screen.css"/>
Forcer la mise à jour de l'actif avant utilisation
$baseJsUrl = Yii::app()->getAssetManager()->publish($baseJsPath, false, -1, YII_DEBUG);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!