2015-01-23 3 views
0

yii2-jui의 datePicker를 사용하고 있으며 사용 된 Jquery Ui 테마를 변경하고 싶습니다. 나는 _form보기의 조각 여기에 myapp\vendor\yiisoft\yii2-jui\JuiAsset.phpyii2의 JuiAsset 테마 변경

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', 
    ]; 
} 

코딩 변화를 harded 시도는 :

<?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']]) ?> 

그러나,이 방법은 내가 원하는 것을 얻을 수 해결책은 아니다. 나는 그것을 할 수 JuiAsset 객체의 특성 $css

답변

1

그 OOP하지만 핵심 YII 파일을 수정하는 것은 나쁜되지뿐만 아니라를 오버라이드 (override) 할 수 있도록 내보기 _form.php에 무엇을해야 알 수하지 않습니다.

2 옵션 :

  1. 이 당신이 구글에서 검색 할 때 오는 두 번째 링크입니다이 https://github.com/yiisoft/yii2/issues/6170을한다. 질문의 정확한 이름을 입력하면 숫자 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, 
      ]); 
+0

두 번째 옵션은 불필요한 파일로드 및 더 긴 응답으로 이어질 수 있기 때문에 좋지 않습니다 (프로덕션 환경에서는 매우 나쁨). 첫 번째는 좋지만 어디에서 어떻게 구현할 수 있을지 모르겠습니다. – SaidbakR

+0

http://www.yiiframework.com/doc-2.0/yii-web-assetmanager.html 다시 시도 Google, 좋습니다. –

+0

Yii api에서 이미 검색했지만 Yey :: $ app-> assetManager = [ 'bundles'=> [ 'yii \ jui \ JuiAsset'=> [ 'css' => [ 'themes/dot-luv/jquery-ui.css',]],],];'그러나 읽기 전용 오류가 반환되었습니다. 그러나 구성에 적용하면 해결됩니다. 이제보기에서 구성 값을 쓸 수있는 방법을 찾아 보겠습니다. 고맙습니다 – SaidbakR

0

조금 오래 된 뭔가를 찾고있다, 그러나 당신이 아래에 설정/web.php 파일에 assetManager 재정을 둬야 나에게 말했다 그래서 같은 구성 요소 '난에 simmilar 뭔가를 찾고 있었다로서 난 그냥이 테스트

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

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

는 잘

근무