关于widget的模式

2970

artcle.jpg

如图,在做门户站的时候经常需要用到不同的区块调用相应的文章,希望可以仿照phpcms,dedecms的标签的模式。但是我在使用CWidget的时候,使用CListView的那种模式来做。也就是每个widget都要用一个itemView,如果一个页面有10中不同的样式需求,我就要用10个itemView了,那样太累赘。




<?php

$this->widget('ArticleListWidget', array(

	'itemView' => '_myarticle',

	'tagName' => 'ul',

	'offset' => 0,

	'limit' => 10,

	'htmlOptions' => array(

		'class' => 'tag-list tag-link clearfix',

	),

));

?>



有什么办法可以直接将需要循环的内容放在beginWidget()和endWidget()之间?

或者直接用一个静态的函数?




<?php

$articles = Article::list($catId, $offset, $limit);

foreach($articles as $article)

{

?>

.......

<?php

}

?>



请问各位有更好的解决方案吗?

Portlet 可能是你最好的选择.

可否提点一下?CPortlet的模式也不行啊,主要是遍历取得的结果