yii2 kartik-v / yii2-widgets安装

时间:2014-12-16 11:41:31

标签: widget yii-extensions yii2

我想使用kartik sidenav小部件。 我通过composer安装了kartik-v / yii2-widgets扩展。

我可以在这里看到:高级\ vendor \ kartik-v \ yii2-widget-sidenav和extensions.php也被修改过:

 'kartik-v/yii2-widget-sidenav' => 
  array (
 'name' => 'kartik-v/yii2-widget-sidenav',
 'version' => '9999999-dev',
 'alias' => 
  array (
   '@kartik/sidenav' => $vendorDir . '/kartik-v/yii2-widget-sidenav',
 ),
 ),

但是,当我尝试在我看来使用它时,

use kartik\widgets\SideNav;

echo SideNav::widget([ 
....

它显示Class'kartik \ widgets \ SideNav'未找到错误 有什么问题?

7 个答案:

答案 0 :(得分:1)

因为作者没有更新文档,命名空间变成了kartik \ sidenav \ SideNav,你应该使用它。

答案 1 :(得分:1)

您应该使用jQuery(document).ready(function($) { var main_blc = $('.main-blc-accord'); main_blc.find('dd').hide(); main_blc.find('dd').prev().addClass('plus') main_blc.find('dd').first().prev().removeClass('plus'); main_blc.find('dd').first().show(); main_blc.find('dt').on('click', function(event) { var dd=$(this).next('dd'); main_blc.find('dd').not(dd).slideUp('slow'); dd.slideToggle(); $(this).toggleClass('plus'); }); $('.mobile-btn-menu').find('span').on('click', function(event) { $(this).parent().next('.footer-menu').toggleClass('show'); }); }); 命名空间,我建议使用像JetBrains PhpStorm这样的IDE,因为它会自动检测命名空间并在需要时添加它们。

答案 2 :(得分:0)

最后应该使用kartik \ sidenav \ SideNav;

答案 3 :(得分:0)

如果您想手动执行此操作:

1)从Github下载所需版本的存档。

2)找到PSR-4自动加载部分并记住它,在您的情况下:kartik/sidenav.

3)将文件解压缩到供应商中的相应文件夹:vendor/kartik/sidenav(不是yiisoft!)。

4)添加到vendor/composer/autoload_psr4.php:

'kartik\\sidenav\\' => array($vendorDir . '/kartik/sidenav'),

5)添加到vendor/yiisoft/extensions.php:

'kartik/sidenav' => array (
    'name' => 'kartik/sidenav',
    'version' => '2',
    'alias' => array (
        '@kartik/sidenav' => $vendorDir . '/kartik/sidenav',
    ),
),

答案 4 :(得分:0)

文档尚未更新 -

use kartik/sidenav/SideNav;

相同的约定适用于所有其他kartik小部件,例如

use kartik\widgets\TypeaheadBasic

现在是:

use kartik\typeahead\TypeaheadBasic

答案 5 :(得分:0)

'kartik-v/yii2-widget-sidenav' => array(
    'name' => 'kartik-v/yii2-widget-sidenav',
    'version' => '1.0.0.0',
    'alias' => array(
        '@kartik/sidenav' => $vendorDir . '/kartik-v/yii2-widget-sidenav',
    ),
),

如果您正确安装,在yii2扩展中,它看起来像上面的代码,所以我认为这是您的安装错误,安装agin!

答案 6 :(得分:0)

  1. 转到供应商文件夹,找到已安装扩展的位置,然后打开该文件夹。
  2. 读取README文件..每个扩展名都有README.md文件,其中包含示例并教您如何使用NAMESPACE。

,在那里您会找到正确的名称空间。