Maison > cadre php > YII > Comment référencer des actifs dans Yii ?

Comment référencer des actifs dans Yii ?

coldplay.xixi
Libérer: 2020-07-16 10:22:33
original
2888 Les gens l'ont consulté

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.

Comment référencer des actifs dans Yii ?

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
Copier après la connexion

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(&#39;application.modules.admin.assets&#39;)); 
        return $this->_assetsUrl; 
    } 
   
    public function setAssetsUrl($value) 
    { 
        $this->_assetsUrl=$value; 
    } 
}
Copier après la connexion

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"/>
Copier après la connexion

Forcer la mise à jour de l'actif avant utilisation

 $baseJsUrl = Yii::app()->getAssetManager()->publish($baseJsPath, false, -1, YII_DEBUG);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal