0

我使用了 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

4

2 回答 2

1

这不仅不是 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,
            ]);
于 2015-01-23T03:02:30.843 回答
0

有点老了,但你应该把assetManager覆盖放在'components'下的config/web.php文件中,如下所示:

$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],

'components' => [
    'assetManager' => [
        'bundles' => [
            'yii\jui\JuiAsset' => [
                'css' => [
                    'themes/flick/jquery-ui.css',
                ]
            ]
        ]
    ],   
],];

我刚刚测试了这个,因为我正在寻找类似的东西,工作得很好

于 2015-10-12T07:28:01.493 回答