【问题标题】:Yii2 - wrong order of loaded CSS - extension's CSS breaks the layoutYii2 - 加载 CSS 的错误顺序 - 扩展的 CSS 破坏了布局
【发布时间】:2020-12-10 11:28:11
【问题描述】:

Yii2 (v2.014)、hail812/yii2-adminlte3、kartik-v/DatePicker。

任何带有渲染日期选择器的页面都会破坏主题。字体比预期的要小,其他一些问题也很明显。我发现,日期选择器在 html 标头中添加了额外的 css 文件。但不是将这些行放在主题之后,而是在所有其他“

【问题讨论】:

  • Yii 按添加顺序通过yii\web\AssetBundles 加载额外的css文件。资产可以有要求。如果一个资产有另一个资产的需求,那么该需求资产是在之前加载的。如果您在供应商文件夹中找到扩展并搜索资产文件,则可以确定正在加载哪些附加资产。
  • 解决这个问题(我不推荐)是从扩展资产中删除 CSS 文件。然后您可以手动决定加载 CSS 文件的位置。

标签: php html css yii2 yii2-advanced-app


【解决方案1】:

我发现的一个解决方案不是完全管理 CSS 文件的顺序,而是 pamars.php 中的一个选项。设置 'bsDependencyEnabled' => false 后,页面显示没有任何问题。

【讨论】:

    【解决方案2】:

    Yii 方法是使用AssetManager

    AssetManager 允许您在 php 类和应用程序配置中配置捆绑包。如果您使用的是基本模板,那就是config/web

    您可以将扩展资产包配置为依赖于您想要包含在它们之前的那些,例如:

    'components' => [
        'assetManager' => [
            'bundles' => [
                'kartik\date\DatePickerAsset' => [
                    'depends' => [
                        'yii\web\YiiAsset',
                        'yii\bootstrap\BootstrapAsset'
                ],
            ],
        ],
    ],
    

    上面的代码块kartik\date\DatePickerAsset只是一个例子,你需要找到你想要配置的其他资产的名称并添加它们。

    【讨论】:

      猜你喜欢
      • 2014-10-21
      • 1970-01-01
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      相关资源
      最近更新 更多