📄 正在查看:twcms/block/kp_block_taglike.lib.php
1<?php
2defined('KONG_PATH') || exit;
3
4/**
5 * 相关内容模块 (只能用于内容页)
6 * @param int titlenum 标题长度
7 * @param int intronum 简介长度
8 * @param string dateformat 时间格式
9 * @param int type 相关内容类型 (1为显示第一个tag相关内容,2为随机显示一个tag相关内容)
10 * @param int orderway 降序(-1),升序(1)
11 * @param int start 开始位置
12 * @param int limit 显示几条
13 * @return array
14 */
15function kp_block_taglike($conf) {
16 global $run, $_show;
17
18 // hook kp_block_taglike_before.php
19
20 if(empty($_show['tags'])) return array('list'=> array());
21
22 $titlenum = isset($conf['titlenum']) ? (int)$conf['titlenum'] : 0;
23 $intronum = isset($conf['intronum']) ? (int)$conf['intronum'] : 0;
24 $dateformat = empty($conf['dateformat']) ? 'Y-m-d H:i:s' : $conf['dateformat'];
25 $type = max(1, _int($conf, 'type'));
26 $orderway = isset($conf['orderway']) && $conf['orderway'] == 1 ? 1 : -1;
27 $start = _int($conf, 'start');
28 $limit = _int($conf, 'limit', 10);
29
30 $mid = &$run->_var['mid'];
31 $table = &$run->_var['table'];
32 if($type == 2) {
33 $tagid = array_rand($_show['tags']);
34 }else{
35 $tagid = key($_show['tags']);
36 }
37
38 // 读取内容ID
39 $run->cms_content_tag_data->table = 'cms_'.$table.'_tag_data';
40 $tag_arr = $run->cms_content_tag_data->find_fetch(array('tagid'=>$tagid), array('id'=>$orderway), $start, $limit);
41 $keys = array();
42 foreach($tag_arr as $v) {
43 $keys[] = $v['id'];
44 }
45
46 // 读取内容列表
47 $run->cms_content->table = 'cms_'.$table;
48 $list_arr = $run->cms_content->mget($keys);
49 foreach($list_arr as &$v) {
50 $run->cms_content->format($v, $mid, $dateformat, $titlenum, $intronum);
51 }
52
53 // hook kp_block_taglike_after.php
54
55 return array('list'=> $list_arr);
56}
57