我有yii2基本版。我想使用Yii2 GridView。使用docs我已安装并更新了它。现在,我可以看到目录/basic/vendor
目录./kartik-v
中的目录,我将其更改为./kartik
,并将其子目录yii2-grid
更改为grid
现在它说要在config中包含模块。
我转到标准路径:/config/web.php
并将此块添加为config:
'modules' => [
'gridview' => [
'class' => '\kartik\grid\Module'
// enter optional module parameters below - only if you need to
// use your own export download action or custom translation
// message source
// 'downloadAction' => 'gridview/export/download',
// 'i18n' => []
]
],
如何在视图中使用它,例如,现在? 这是我的观点代码,它表示它无法在那里找到它。
use app\vendor\kartik\grid\GridView;
$dataProvider = null;
echo GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
'id',
'name',
'created_at:datetime',
],
]) ;
需要一些帮助。 的 UPD1 感谢Tim Ogilvy,我明白我应该使用命名空间来获取它,并且没有必要在config / php中添加它。如果我错了,请纠正我。
答案 0 :(得分:3)
阅读the Yii Manual for autoloading。
它解释了加载类的几种不同方法,包括使用作为自动加载器的/vendor/autoload.php
。
无论哪种方式,一旦您正确设置了自动加载器,您就应该能够通过它的供应商名称空间引用gridview为in the gridview documentation。
取自“表格样式”部分的示例:
use kartik\grid\GridView;
// Generate a bootstrap responsive striped table with row highlighted on hover
echo GridView::widget([
'dataProvider'=> $dataProvider,
'filterModel' => $searchModel,
'columns' => $gridColumns,
'responsive'=>true,
'hover'=>true
]);
请注意,use
语句使用反斜杠而不是正斜杠。
对于Windows用户来说,并不是很明显这不是路径,但Linux和mac用户可以立即识别出这是指名称空间,而不是路径。