2016-10-18 17:02:46 7044次浏览 4条回答 0 悬赏 10 金钱

在 _form.php 文件里面已经引用了DatePicker,

use dosamigos\datepicker\DatePicker;

下图左侧是DatePicker路径,右侧是 _form.php页面

QQ20161018-1@2x.png

为什么还是提示 Class 'dosamigos\datepicker\DatePicker' not found ???
是某个地方需要配置还是怎么回事? DatePicker的命名空间是 namespace dosamigos\datepicker;

补充于 2016-10-19 18:47

已经解决了,原因是少提交了文件

  • 回答于 2016-10-18 17:16 举报

    是通过 composer 安装的么? 如果是的话,命名空间 应该不会有问题才对
    如果不是的话... 需要手动指定下命名空间

    1 条回复
    回复于 2016-10-18 17:38 回复

    是composer安装的,命名空间没有错,但是提示 类找不到,好纳闷

  • 回答于 2016-10-18 20:16 举报

    之前好像我也遇到过,最后用了这个
    用composer安装
    use dosamigos\datetimepicker\DateTimePicker;

    1 条回复
    回复于 2016-10-18 22:09 回复

    是用的composer安装的 不知道为啥

  • 回答于 2016-11-29 10:55 举报

    我不是用的composer安装,他报错Class 'app\models\Date' not found ,这个也不是特别详细,麻烦谁有比较详细的介绍,而且不用composer的

    1 条回复
    回复于 2017-01-04 16:47 回复

    <?php
    namespace backend\assets;
    use yii\base\Exception;
    use yii\web\AssetBundle as BaseAdminLteAsset;

    /**

    • AdminLte AssetBundle
    • @since 0.1
      */
      class DatepickerAsset extends BaseAdminLteAsset
      {
      public $sourcePath = '@vendor/almasaeed2010/adminlte/plugins';
      public $css = [

       'datepicker/datepicker3.css',
      

      ];
      public $js = [

       'datepicker/bootstrap-datepicker.js'
      

      ];
      public $depends = [

       'dmstr\web\AdminLteAsset',
      

      ];

      /**

      /**

      • @inheritdoc
        /
        public function init()
        {
        // Append skin color file if specified
        /
        if ($this->skin) {

         if (('_all-skins' !== $this->skin) && (strpos($this->skin, 'skin-') !== 0)) {
             throw new Exception('Invalid skin specified');
         }
        
         //$this->css[] = sprintf('css/skins/%s.min.css', $this->skin);
         $this->css[] = sprintf('css/skins/%s.min.css', $this->skin);
        

        }*/
        $this->js[] = 'datepicker/locales/bootstrap-datepicker.zh-CN.js';
        parent::init();
        }
        }
        asset/DatepickerAsset.php

    view.php

    <?php

    use yii\helpers\Html;
    use yii\widgets\ActiveForm;
    use dosamigos\datepicker\DatePicker;

    common\assets\CkeditorAsset::register($this);
    $this->registerJsFile('/js/news.js',['depends'=>'common\assets\DatePickerAsset']);
    $this->registerJsFile('/js/news-editor.js',['depends'=>'common\assets\DatePickerAsset']);
    / @var $this yii\web\View /
    / @var $model backend\models\News /
    / @var $form yii\widgets\ActiveForm /
    ?>

    <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'description')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'keywords')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'typeId')->dropDownList(\yii\helpers\ArrayHelper::map($configModel['NewsType'],'id','name')); ?> <?= $form->field($model, 'seen')->textInput(['value' => '0']) ?> <?= $form->field($model, 'createTime')->textInput(['id' => 'datepicker'])?> <?= $form->field($model, 'isHot')->textInput(['value' => '0']) ?> <?= $form->field($model, 'isTop')->textInput(['value' => '0']) ?> <?= $form->field($model, 'sort')->textInput(['value' => '0']) ?> <?= $form->field($model, 'status')->textInput(['value' => '0']) ?> <?= $form->field($model, 'content')->textarea(['id' => 'editor1']) ?> <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> <?php ActiveForm::end(); ?>

    web/asset/js
    $('#datepicker').datepicker({

    format:'yyyy-m-dd',
    maxDate: "+0d" ,
    

    autoclose: true,
    });

  • 回答于 2018-10-15 13:54 举报

    你那有没有用到clientOptions调用单击事件

您需要登录后才可以回答。登录 | 立即注册
blsa点cn
经理

blsa点cn 深圳

注册时间:2016-10-31
最后登录:2024-05-15
在线时长:9小时55分
  • 粉丝14
  • 金钱995
  • 威望20
  • 积分1285

热门问题