我使用了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']]) ?>
然而,这种方式不是oop解决方案来获得我想要的。我无法知道在_form.php
视图中我必须做什么才能覆盖JuiAsset对象的属性$css
答案 0 :(得分:1)
不仅不是OOP,而且修改核心Yii文件也很糟糕。
2个选项:
修改强> 你告诉我你在评论中寻找的东西
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,
]);
答案 1 :(得分:0)
有点旧,但你应该将assetManager覆盖在config / web.php文件中的&#39; components&#39;像这样:
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'assetManager' => [
'bundles' => [
'yii\jui\JuiAsset' => [
'css' => [
'themes/flick/jquery-ui.css',
]
]
]
],
],];
我刚测试了这个,因为我正在寻找类似的东西,工作得很好