Yii CListView:如何禁用所有附加html
我正在尝试使用CListView生成RSS页面,但我在结果中得到了额外生成的html:Yii CListView:如何禁用所有附加html,yii,Yii,我正在尝试使用CListView生成RSS页面,但我在结果中得到了额外生成的html: <div id="yw0" class="list-view"> <div class="items"> 及 238347431421 如何删除它?如果不更改CListView类(yii v.1.1.8),则无法删除它 CListView扩展了CBaseListView /** *渲染视图。 *这是整个视图渲染的主要条目。 *子类应该主要重写{@link renderCont
<div id="yw0" class="list-view">
<div class="items">
及
238347431421
如何删除它?如果不更改CListView类(yii v.1.1.8),则无法删除它 CListView扩展了CBaseListView
/**
*渲染视图。
*这是整个视图渲染的主要条目。
*子类应该主要重写{@link renderContent}方法。
*/
公共功能运行()
{
$this->registerClientScript();
echo CHtml::openTag($this->tagName,$this->htmlOptions)。“\n”;
$this->renderContent();
$this->renderKeys();
echo CHtml::closeTag($this->tagName);
}
/**
*在隐藏标记中呈现数据的键值。
*/
公共函数renderKeys()
{
echo-CHtml::openTag('div',数组(
“类”=>“键”,
'style'=>'display:none',
'title'=>Yii::app()->getRequest()->getUrl(),
));
foreach($this->dataProvider->getKeys()作为$key)
echo“.CHtml::encode($key)”;
回音“\n”;
}
实际上它很简单,只有几行代码
与其使用CListView,不如使用它的胆量:
$data = $dataProvider->getData();
foreach($data as $i => $item)
Yii::app()->controller->renderPartial('your_item_view',
array('index' => $i, 'data' => $item, 'widget' => $this));
就是这样。在Yii网站上有一个非常好的关于。CListView用于显示项目的html列表,而不是任何类型的提要。两个答案都是正确的。。如果需要反复使用自定义列表视图,则接受的视图更好。这个答案对于那些一次性的情况非常有效。但是这会使分页自动吗?
/**
* Renders the view.
* This is the main entry of the whole view rendering.
* Child classes should mainly override {@link renderContent} method.
*/
public function run()
{
$this->registerClientScript();
echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";
$this->renderContent();
$this->renderKeys();
echo CHtml::closeTag($this->tagName);
}
/**
* Renders the key values of the data in a hidden tag.
*/
public function renderKeys()
{
echo CHtml::openTag('div',array(
'class'=>'keys',
'style'=>'display:none',
'title'=>Yii::app()->getRequest()->getUrl(),
));
foreach($this->dataProvider->getKeys() as $key)
echo "<span>".CHtml::encode($key)."</span>";
echo "</div>\n";
}
$data = $dataProvider->getData();
foreach($data as $i => $item)
Yii::app()->controller->renderPartial('your_item_view',
array('index' => $i, 'data' => $item, 'widget' => $this));