在yii2中更改JuiAsset主题

赛义德巴克

我已经使用了yii2-jui中的datePicker,并且我想更改所使用的Jquery Ui主题。我尝试过硬编码更改myapp\vendor\yiisoft\yii2-jui\JuiAsset.php

class JuiAsset extends AssetBundle
{
    public $sourcePath = '@bower/jquery-ui';
    public $js = [
        'jquery-ui.js',
    ];
    public $css = [
        'themes/THE_OTHER_THEME/jquery-ui.css',
    ];
    public $depends = [
        'yii\web\JqueryAsset',
    ];
}

这是该_form视图的摘录

<?php

use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\jui\DatePicker;

/* @var $this yii\web\View */
/* @var $model frontend\models\Profile */
/* @var $form yii\widgets\ActiveForm */
?>
...
 <?php $form = ActiveForm::begin(); ?>
 <?= $form->field($model, 'birthdate')->widget(DatePicker::className(), ['clientOptions' => ['dateFormat' => 'yy-mm-dd']]) ?>

然而,这种方式是不是解决方案,得到我想要的东西。我不知道该怎么做_form.php才能使其能够覆盖JuiAsset对象的属性$css

Mihai P.

不仅不是OOP,而且修改核心Yii文件也是不好的。

2种选择:

  1. 做到这一点https://github.com/yiisoft/yii2/issues/6170这是当您在Google上搜索时出现的第二个链接。如果您输入问题的确切名称,它是4号,那么您将来可以尝试
  2. 在默认注册一个主题之后,注册一个新主题(css文件)。最后注册的主题中的类将覆盖默认的类。

编辑:你告诉我你正在寻找评论中的东西

  Yii::$app->set('assetManager' , [
                'class' => 'yii\web\AssetManager',
                'bundles' => [
                    'yii\widgets\ActiveFormAsset' => [
                        'js' => [],
                        'depends' => [
                            'yii\adminUi\assetsBundle\AdminUiActiveForm',
                        ],
                    ],
                    'yii\grid\GridViewAsset' => [
                        'depends'   => [
                            'backend\assets\AppAsset'
                        ],
                    ],
                ],
                'linkAssets' => true,
            ]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章