在之前的文章Phpcms V9广告位循环数据调用方法详解以及Phpcms V9.6.0正式版广告调用eval()方式改成string2array()更新中,详细讲解了采用pc:get SELECT广告位循环调用的方法,今天CMSYOU在这里再次就PC V9的广告位调用提供一个新的方法:自定义修改content_tag类,做到pc标签循环调用。
这个方法来源自PC V9自身的调用方式{pc:content 参数名="参数值" 参数名="参数值" 参数名="参数值"},比如:
{pc:content action="lists" cache="3600" num="20" page="$page"}{/pc}
这里的action,比较常见的是:栏目category、列表lists、推荐位position、相关文章relation、热门排行点击量hits、可视化pc_tag,具体方法函数文件:phpcms/modules/content/classes/content_tag.class.php,大家可以看下里边的函数写法。
根据这些函数写法,不防为广告位也自定义pc标记调用函数:
/*** 广告位循环调用* @param $data*/public function ads($data) {$this->dbads = pc_base::load_model('poster_model');$where = '1';$spaceid = $data['spaceid'] ? intval($data['spaceid']) :"";if ($spaceid) $where .= " AND `spaceid`='".$spaceid."' AND disabled='0'" ;$return= $this->dbads->select($where, '*', $data['limit'], $data['order']);$result=array();foreach ($return AS $value){$result[$value['id']]['title']=$value['name'];$temp=string2array($value['setting']);$result[$value['id']]['alt']=$temp['1']['alt'];$result[$value['id']]['imageurl']=$temp['1']['imageurl'];$result[$value['id']]['url']=$temp['1']['linkurl'];}return $result;}
注:上面的函数代码加在最后类的结尾前,上一个函数结尾处。
这样,前台模板文件就可以这样调用指定id、指定条数的广告数据了:
{pc:content action="ads" spaceid="9" order="listorder ASC" num="5"}{loop $data $r}<li><a class="item" href="{$r['url']}" title="{$r['alt']}" target="_blank"><img class="bg" src="{$r['imageurl']}" alt="{$r['alt']}" /></a></li>{/loop}{/pc}
具体调用的字段具体见数据库里边的表结构,Phpcms V9广告位循环数据调用方法详解这里有详细说明。
希望大家喜欢,有更多自定义phpcms,以后多多分享,最近CMSYOU忙于项目,比较少分享,如果有好的文章也欢迎投稿,投稿email:info@cmsyou.com。
同时欢迎大家收听CMSYOU官方微博,相互探讨Phpcms!
点击加载更多