之前在网上找的方法都是定死的,而且有些数据调不出来,所以弄了这个,cid参数我是在主题内设置传入的。

/**
 * 指定cid调用多个文章,用于推荐文章调用
 *
 * 方法:$this->widget('Digest_Post@Digests', 'cid=1,2,3')->to($dpost);
 * 只需要传入cid后面的参数即可
 * 在主题内传入 $this->options->digestid,
 * 则调用方式为:$this->widget('Digest_Post@digests', 'cid='.$this->options->digestid)->to($dpost);
 *
 */
class Digest_Post extends Widget_Abstract_Contents
{
    public function execute()
    {

        $this->parameter->setDefault(array('cid' => '0'));
        $getid = explode(',',$this->parameter->cid);
        $pageSize = count($getid);

        $this->db->fetchAll($this->select()
        ->where('table.contents.status = ?', 'publish')
        ->where('table.contents.created < ?', $this->options->time)
        ->where('table.contents.type = ?', 'post')
        ->where('cid in ?',$getid)
        ->limit($pageSize), array($this, 'push'));
    }
}