2

social次のようなディレクトリで名前が付けられたモジュールがあります。

frontend
-- modules
    -- social
        -- assets
            -- SocialAsset.php
        -- controllers
        -- views
            -- default
            -- layouts
                -- main.php
        -- web
            -- css
            -- js
            -- img
        Module.php

モジュールに独自のレイアウトを持たせたい。そのため、ファイルSocialAssetmain.phpレイアウト用、、cssおよびjsを追加しますimg。しかし、残念ながら、css/ js/imgファイルにアクセスできません。

SocialAssetファイル :

<?php

namespace frontend\modules\social\assets;

use yii\web\AssetBundle;

class SocialAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $sourcePath = '@app/modules/social/web';
    public $css = [
        'css/social.css',
        'css/toolkit.css'
    ];
    public $js = [
        'js/jquery.min.js',
        'js/social.js',
        'js/toolkit.js',
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}

main.php私はSocialAssetこのようなファイルを使用します:

use frontend\modules\social\assets\SocialAsset;


SocialAsset::register($this);

誰かがこの問題を解決するのを手伝ってくれませんか?

4

1 に答える 1

0

sourcePathアセット バンドルでのみ設定する必要があります。

sourcePathこのバンドル内のアセット ファイルを含むルート ディレクトリを指定します。ルート ディレクトリに Web アクセスできない場合は、このプロパティを設定する必要があります。それ以外の場合は 、代わりにbasePathプロパティ andを設定する必要があります。baseUrl

これは、アセットバンドルを削除するだけ$basePath$baseUrl、Yii がファイルを公開することを意味します。

続きを読む : http://www.yiiframework.com/doc-2.0/guide-structure-assets.html

于 2015-10-18T09:46:31.337 に答える