知识专栏
多方位、多角度、深度解读您所关心的问题

phpcms v9官方其实也有广告位调用方法,可以循环调用广告位文字、图片等数据。但是看着比较复杂。如果二次开发下,那么将可以很简单的调用,并且调用时也方便if判断和变量等。

具体二次开发如下:

1、打开phpcms/modules/content/classes/content_tag.class.php文件,

找到

 /**
  * 可视化标签
  */

在其上方增加以下代码:

 /**
 * 广告位循环调用
 * @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']]['content']=$temp['1']['title'];
      $result[$value['id']]['alt']=$temp['1']['alt'];
      $result[$value['id']]['imageurl']=$temp['1']['imageurl'];
      $result[$value['id']]['url']=$temp['1']['linkurl'];
   $result[$value['id']]['malt']=$temp['2']['alt'];
      $result[$value['id']]['mimageurl']=$temp['2']['imageurl'];
      $result[$value['id']]['murl']=$temp['2']['linkurl'];
   $result[$value['id']]['code']=$temp['code'];
   }
   return $result;
 }

2、模板调用代码如下:

{pc:content action="ads" spaceid="1" order="listorder DESC,id DESC" num="1" return="data1"}
{loop $data1 $r}
        <a href="{$r[url]}"><img src="{$r[imageurl]}" alt="{$r[alt]}" title="{$r[title]}" /></a>
{/loop}
{/pc}

上述部分代码说明:

(1)spaceid="1":1就是某个广告版位的spaceid值,想要调用哪个广告版位的循环数据,就改为那个版位的spaceid值。

(2){$r[url]}:是调用广告版位里面的广告链接。

(3){$r[imageurl]}:是调用广告版位里面的广告图片。

(4){$r[alt]}:是调用广告版位里面的广告描述文字。

(5){$r[title]}:是调用广告版位里面的广告标题。


赞一下
--
踩一脚
--

您已成功复制微信号

leishi010

打开微信添加好友?

确定