2015-04-29 21:11:04 9609次浏览 1条回答 2 悬赏 10 金钱

网上查找了,是怎么引用,如下面所提示的:
github中源代码地址:https://github.com/kartik-v/yii2-widget-select2
利用composer.phar安装此插件:
php composer.phar require kartik-v/yii2-widget-select2 "*"
引用方法:
use kartik\select2\Select2;
源代码:

<?= $form->field($model, 'companies_company_id')->widget(Select2::classname(), [
    'data' => ArrayHelper::map(Companies::find()->all(),'company_id','company_name'),
    'language' => 'en',
    'options' => ['placeholder' => 'Select a state ...'],
    'pluginOptions' => [
        'allowClear' => true
    ],
]); ?>

可是从github上下载了,却发现我的环境中没有kartik目录,提示:
Class 'kartik\base\InputWidget' not found(Select2是继承 \kartik\base\InputWidget)

请问是我文件没有安装全还是怎么一回事,有人能够把kartik目录发给我吗?谢谢了,邮箱是1022828887@qq.com

  • 回答于 2015-04-30 17:47 举报

    首先确认you did a global install of composer,也就是可以使用全局的composer命令而不需要用php composer.phar(为了方便描述)
    然后在你的网站根目录上(和web、config文件夹平齐)创建kartik-v文件夹,把你刚刚在github上下载的yii2-widget-select2文件夹放进去。
    鉴于README里面的这样一段话:

    NOTE: This extension is a sub repo split of yii2-widgets. The split has been done since 08-Nov-2014 to allow developers to install this specific widget in isolation if needed. One can also use the extension the previous way with the whole suite of yii2-widgets.
    

    虽然他说可以独立安装,但是我建议你把yii2-widgets一起从github上下载下来,然后把yii2-widgets文件夹也放进你创建的kartik-v文件夹。
    接着就是修改你网站根目录下的composer.json文件了,找到"require":,往里面添加这两句:

    "kartik-v/yii2-widgets": "*",
    "kartik-v/yii2-widget-select2": "*"
    

    保存。然后在根目录下按住shift右击打开命令窗口,输入:composer install(这个时候如何提示你composer需要update就先输入:composer self-update,运行它;如果还有关于lock file的问题,就再运行:composer update,等两三分钟运行完成再去运行composer install)
    这样你打开vendor文件夹就会发现里面多了个kartik-v文件夹,你所有需要的依赖库都安装完成了,也就是可以在view里面使用:use kartik\select2\Select2;问题解决。
    注:此时网站根目录下的kartik-v文件夹就可以删除了。
    By ArthurSS 2015/4/30

    1 条回复
    回复于 2016-11-16 11:56 回复

    请问为什么我没有自动生成kartik这个文件夹呢?

    , 觉得很赞
您需要登录后才可以回答。登录 | 立即注册
zmm1022828887
副总裁

zmm1022828887 北京

注册时间:2014-12-16
最后登录:2017-07-17
在线时长:62小时14分
  • 粉丝15
  • 金钱6820
  • 威望20
  • 积分7640

热门问题