我有yii2的基本版本。我想使用Yii2网格视图。使用文档我已经安装并更新了它。现在我可以看到目录/basic/vendor
目录./kartik-v
中的目录,我将其更改为./kartik
,将其子目录yii2-grid
更改为grid
现在据说在配置中包含模块。我转到标准路径:/config/web.php
并将此块添加为配置的一部分:
'modules' => [
'gridview' => [
'class' => 'kartikgridModule'
// 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 appvendorkartikgridGridView;
$dataProvider = null;
echo GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
'id',
'name',
'created_at:datetime',
],
]) ;
需要一些帮助。UPD1多亏了Tim Ogilvy,我明白我应该使用名称空间来获取它,并且不需要在config.php中添加。如果我错了,请纠正我。
阅读Yii自动加载手册。
它解释了几种不同的加载类的方法,包括使用/vendor/autoload.php
(composer autoloader)。
无论哪种方式,一旦正确设置了自动加载器,就应该能够通过gridview文档中可见的供应商名称空间引用gridview。
表格样式部分的示例:
use kartikgridGridView;
// Generate a bootstrap responsive striped table with row highlighted on hover
echo GridView::widget([
'dataProvider'=> $dataProvider,
'filterModel' => $searchModel,
'columns' => $gridColumns,
'responsive'=>true,
'hover'=>true
]);
请注意, 对于windows用户来说,这不是一个路径并不明显,但linux和mac用户可以立即识别出这指的是一个命名空间,而不是路径。use
语句使用后斜杠,而不是前斜杠