EMLOG学院

[图文,列表,最新,分类]文章调用函数

2015-6-3    分类: 常用函数    1227次浏览

购买 (¥)

在以前发表过一篇《图文调用函数》考虑到有些地方还是不是很方便,所以在以前的基础上修改了一下,支持最新文章调用;分类置顶文章调用;全局置顶文章调用;置顶分类文章调用。可过滤是否有缩略图的文章,即只调用带缩略图的文章,另外该函数也支持分类列表调用,函数如下:


//首页分类置顶,全局置顶,最新文章,幻灯图文,指定分类列表
//item=a分类置顶 ,b全局置顶,c最新文章,d指定分类ID
//num 选择调用数量
//yes_no_img 附件没有图片时是否调用,1调用,2不调用,3列表显示。
function index_top_sotop_new($item,$num,$yes_no_img){
	$db = MySql::getInstance();
	if($item=='a'){
		$i = " WHERE type='blog' AND sortop = 'y'  AND hide='n'  ";
	}elseif($item=='b'){
		$i = " WHERE type='blog' AND top = 'y'  AND hide='n'  ";
	}elseif($item=='c'){
		$i = " WHERE type='blog' AND hide='n'  ";
	}else{
		$i = " WHERE sortid=".$item." AND hide='n'  ";
	}
	$sql = "SELECT gid,title,top,content,type,views,sortid,date FROM ".DB_PREFIX."blog ".$i." ORDER BY `date` DESC LIMIT $num";
	$list = $db->query($sql);
	while($row = $db->fetch_array($list)){
		if(getThumbnail($row['gid'])==''){
			$no_img = '';
			$img_url = TEMPLATE_URL.'images/random/'.rand(1,4).'.jpg';
		}else{
			$no_img = getThumbnail($row['gid']);
			$img_url = getThumbnail($row['gid']);
		}
		$data='<li><a title="'.$row['title'].'" href="'.Url::log($row['gid']).'" target="_blank"><img src="'.$img_url.'"><span>'.$row['title'].'</span></a></li>';
		$data_list='<li><span>'.gmdate('Y-n-j G:i l', $row['date']).'</span><a title="'.$row['title'].'" target="_blank" href="'.Url::log($row['gid']).'">'.mb_substr($row['title'], 1,18,"UTF-8").'</a></li>';
		if($yes_no_img=='1'){
	             echo $data;
		}elseif($yes_no_img=='2'){
			if($no_img!==''){
				echo $data;
			}
		}elseif($yes_no_img=='3'){
			echo $data_list;
		}else{
			exit('$yes_no_img不在可选范围之内,请重新指定');
		}
	}		
}
该函数还需要另一个函数作为支持,即获取附件第一张图片(函数名:getThumbnail),如果你的module.php有该函数,则不需要重新添加,如果没有该函数,则还需要附加添上改函数,如下:



//Custom: 获取附件第一张图片
function getThumbnail($blogid){
$db = MySql::getInstance();
$sql = "SELECT * FROM ".DB_PREFIX."attachment WHERE blogid=".$blogid." AND (`filepath` LIKE '%jpg' OR `filepath` LIKE '%gif' OR `filepath` LIKE '%png') ORDER BY `aid` ASC LIMIT 0,1";
//die($sql);
$imgs = $db->query($sql);
$img_path = "";
while($row = $db->fetch_array($imgs)){
$img_path .= BLOG_URL.substr($row['filepath'],3,strlen($row['filepath']));
}
return $img_path;
}

函数参数说明:

$data='<li><a title="'.$row['title'].'" href="'.Url::log($row['gid']).'" target="_blank"><img src="'.$img_url.'"><span>'.$row['title'].'</span></a></li>';

$data 为最终的打印输出数据,该数据是带有缩略图的,可根据模板自行修改

$data_list='<li><span>'.gmdate('Y-n-j G:i l', $row['date']).'</span><a title="'.$row['title'].'" target="_blank" href="'.Url::log($row['gid']).'">'.mb_substr($row['title'], 1,18,"UTF-8").'</a></li>';
$data_list 为列表输出数据,不调用图片,只做列表输出,可用于CMS中的分类列表,可自行修改


参数名称:
简要
参数取值
$item
该参数说明调用文章类型
a:分类置顶;b:全局置顶;c:最新文章;其他:填写数字则调用该数值相对应的分类文章
$num
调用条目数量
该参数为整数型,即调用多少条数据
$yes_no_img
是否调用有缩略图的文章
1:调用全部文章(有缩略图无缩略图都调用);2:只调用有缩略图的文章

本文作者:陈子文

欢迎访问 EMLOG学院,本站致力于为您分享emlog优秀模板与常用函数。如果有任何疑问欢迎与我联系

版权所有:《EMLOG学院》 => 《[图文,列表,最新,分类]文章调用函数
本文地址:http://vps.lantk.com/?post=488
除非注明,文章均为 《EMLOG学院》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论 您已登陆为:,注销,管理

...