我正在处理Yii中的CGridView小部件。我已对其中的大部分进行了自定义,但似乎无法自定义单击列标题以对数据进行排序时显示的图标。 (根据排序顺序向上或向下指向的小箭头)此外,添加'columns'选项后图标完全消失。我视图中的部分代码如下:
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'pager' => array('cssFile' => '/css/myCss.css'),
'cssFile' => '/css/myCss.css',
'summaryText' => 'Showing {start} - {end} of {count} data rows.',
'htmlOptions' => array('id' => 'grid'),
'columns' => array(
array(
'name' => 'name',
'value' => '$data->name',
),
array(
'name' => 'description',
'value' => '$data->description',
),
array(
'name' => 'date',
'value' => '$data->date',
),
),
));
?>
Yii的文档根本不清楚,似乎没有任何人(我能找到)也有这个问题。
- &gt;另外,一个相关的问题: 我如何使每一行成为锚链接?我需要每一行都是一个链接,以查看有关所单击行的详细信息。我知道cgridview提供了查看,编辑和删除行末的链接(如果被告知),但是是否可以将整行作为单个锚链接?我知道如何在html中手动执行此操作,但不知道如何在cgridview中执行此操作。
答案 0 :(得分:1)
我不确定你正在使用的是哪个版本的Yii,但让我们试试这段代码
<?php
'columns' => array(
array(
...
'type' => 'html',
'value'=>'CHtml::tag("a",array("class"=>"your-icon-class", "href"=>"#"))',
),
答案 1 :(得分:1)
如果要更改表格标题中的图标,则需要覆盖类的样式(.grid-view table.items th a.desc
和.grid-view table.items th a.asc
)。您还可以通过指定选项'cssFile'=>false
来禁用表格的视觉样式,并为网格设置自定义样式。
为了使整个字符串锚链接很可能您将需要使用必要的链接URL插入表的每个单元格。为此,请添加以下对字符串数组的描述:
'columns'=>array(
...
array(
'name'=>'name',
'value'=>'CHtml::link($data->name, "#myAnchor")',
'type'=>'html'
),
...
)