【发布时间】:2012-02-10 22:12:04
【问题描述】:
我正在努力学习 Yii,并查看了 Yii 文档,但仍然没有真正理解。我仍然不知道如何使用 Controller 和 View 上的 CDataProvider 来显示视图上所有可用的博客文章。任何人都可以根据以下内容提供建议或举例:
我的 PostController 中的 actionIndex:
public function actionIndex()
{
$posts = Post::model()->findAll();
$this->render('index', array('posts' => $posts));
));
视图,Index.php:
<div>
<?php foreach ($post as $post): ?>
<h2><?php echo $post['title']; ?></h2>
<?php echo CHtml::decode($post['content']); ?>
<?php endforeach; ?>
</div>
除了上面的操作,谁能告诉我如何使用 CDataProvider 来生成?
非常感谢。
【问题讨论】:
-
我看到了这个yiiframework.com/doc/api/1.1/CListView 但是1)如何回显数据? 2) 是否可以将其显示在索引上,而不是创建另一个 _post,如 'itemView'=>'_post' 中所示?
-
哦,我没有阅读此评论就发布了答案!你能告诉我为什么要直接回显数据吗?这显然是可能的,很快就会在我的答案中添加一些代码。
-
答案已编辑,好的,您想要使用 clistview,但没有 itemView,这是不可能的,这不是 CListView 的工作方式。它是高度可定制的,相信我,整个外观可以彻底改变!
-
如果你不知道,CDataProvider 是 yii 中其他数据提供者的抽象基类,即 CActiveDataProvider、CArrayDataProvider 和 CSqlDataProvider。
-
如果我错了,请纠正我。我可以说,因为itemView,它就像让_view像一个小组件一样,你只需要将这个组件(如php include)插入索引页面以输出结果,并自定义个人_view 而不必影响索引页的任何其他部分?