基于这个功能,实现的轮播图,填写了文章cid,获取了文章标题,描述,缩略图和链接。
其实这个功能,应该有很多人发过,不过大多都是需要写查询函数的,我呢因为懒,所以经过试验发现了这种不用自己写函数的写法。
代码
如下代码,其中cid=1就是获取cid为1的文章信息,可以改成你需要获取的文章cid。
1 2 3 4 5
| <?php $this->widget('Widget_Archive@indexxiu', 'pageSize=1&type=post', 'cid=1')->to($ji); ?> 标题:<?php $ji->title(); ?> 链接:<?php $ji->permalink(); ?> 描述:<?php $ji->description(); ?> ...
|
获取多个
上边的截图,就是获取了三个文章,来实现的,代码如下,其中166,163,160就是对应的三个文章的cid
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php $lunbo="166,163,160"; $hang = explode(",", $lunbo); $n=count($hang); $html=""; for($i=0;$i<$n;$i++){ $this->widget('Widget_Archive@lunbo'.$i, 'pageSize=1&type=post', 'cid='.$hang[$i])->to($ji); if($ji->fields->thumb){$img=$ji->fields->thumb;} if($i==0){$no=" sx_no";}else{$no="";} $html=$html.'<div class="sx_vt'.$no.'" name="'.$i.'" title="'.$ji->title.'" intro="'.$ji->description.'" hsrc="'.$ji->permalink.'"><img src="./images/load.jpg" bsrc="'.$img.'" alt="'.$ji->title.'"></div>'; } echo $html; ?>
|
原理就是利用for循环,来实现的多次点播。
关于调用时间
文章创建时间:
1
| gmdate('Y-m-d', $ji->created + Typecho_Widget::widget('Widget_Options')->timezone)
|
文章修改时间:
1
| gmdate('Y-m-d', $ji->modified + Typecho_Widget::widget('Widget_Options')->timezone)
|
提示
代码中的Widget_Archive@后面的参数可以随便写,同一个页面多次使用时参数不能相同,否则会重复输出同一条数据。
2020年6月3日补充说明
代码中的type=post可以改成type=single,这样填写独立页面的cid也行了
来源:https://blog.zezeshe.com/