phpcmsV9 首页调用全站最新文章(受模型限制)

phpcmsV9 首页调用全站最新文章数据的办法

在很多使用phpcmsV9框架的项目中,都会经常遇到首页调用全站最新文章的情况。这里讲解一篇。仅供参考。


首页调用 · 全站最新文章

查找文件:www\phpcms\modules\content\classes\content_tag.class.php,找到如下代码:

1. 修改之前代码;
	/**
	 * 列表页标签
	 * @param $data
	 */
	public function lists($data) {
		$catid = intval($data['catid']);
		if(!$this->set_modelid($catid)) return false;
		if(isset($data['where'])) {
			$sql = $data['where'];
		} else {
			$thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
			if($this->category[$catid]['child']) {
				$catids_str = $this->category[$catid]['arrchildid'];
				$pos = strpos($catids_str,',')+1;
				$catids_str = substr($catids_str, $pos);
				$sql = "status=99 AND catid IN ($catids_str)".$thumb;
			} else {
				$sql = "status=99 AND catid='$catid'".$thumb;
			}
		}
		$order = $data['order'];

		$return = $this->db->select($sql, '*', $data['limit'], $order, '', 'id');
						
		//调用副表的数据
		if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) {
			$ids = array();
			foreach ($return as $v) {
				if (isset($v['id']) && !empty($v['id'])) {
					$ids[] = $v['id'];
				} else {
					continue;
				}
			}
			if (!empty($ids)) {
				$this->db->table_name = $this->db->table_name.'_data';
				$ids = implode('\',\'', $ids);
				$r = $this->db->select("`id` IN ('$ids')", '*', '', '', '', 'id');
				if (!empty($r)) {
					foreach ($r as $k=>$v) {
						if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
					}
				}
			}
		}
		return $return;
	}

2. 修改之后代码:

	/** 
	* 列表页标签 
	* @param $data 
	*/ 
	public function lists($data) { 
		$catid = intval($data['catid']); 
		if(isset($data['where'])) { 
			$sql = $data['where']; 
		} else { 
			$thumb = intval($data['thumb']) ? " AND thumb != ''" : ''; 
			if(!empty($catid)) { 
				if(!$this->set_modelid($catid)) return false; 
				if($this->category[$catid]['child']) { 
					$catids_str = $this->category[$catid]['arrchildid']; 
					$pos = strpos($catids_str,',')+1; 
					$catids_str = substr($catids_str, $pos); 
					$sql = "status=99 AND catid IN ($catids_str)".$thumb; 
				} else { 
					$sql = "status=99 AND catid='$catid'".$thumb; 
				} 
			} 
			else { 
				$sql = "status=99".$thumb; 
			} 
		} 
		$order = $data['order']; 
		$return = $this->db->select($sql, '*', $data['limit'], $order, '', 'id'); 
		//调用副表的数据 
		if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) { 
			$ids = array(); 
			foreach ($return as $v) { 
				if (isset($v['id']) && !empty($v['id'])) { 
					$ids[] = $v['id']; 
				} else { 
					continue; 
				} 
			} 
			if (!empty($ids)) { 
				$this->db->table_name = $this->db->table_name.'_data'; 
				$ids = implode('\',\'', $ids); 
				$r = $this->db->select("`id` IN ('$ids')", '*', '', '', '', 'id'); 
				if (!empty($r)) { 
					foreach ($r as $k=>$v) { 
						if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]); 
					} 
				} 
			} 
		} 
		return $return; 
	} 

	

3. 首页调用 · 代码:

{pc:content action="lists" num="10" order="id DESC" cache="3600"} 

{/pc}

项目具体实例代码,示下:

  {pc:content action="lists" num="15" order="id DESC" cache="3600" return="info"} 
  {php $categorys = getcache('category_content_'.$siteid,'commons');}   
  {loop $info $v} 
  
  {php $category = $categorys[$v[catid]];} 
  {php $modelid = $category['modelid'];} 
  {php $db = pc_base::load_model('hits_model');   $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$v[id])); $views = $_r[views]; } 
  {php $comment_tag = pc_base::load_app_class("comment_tag", "comment"); $comment_total = $comment_tag->count(array('commentid'=>'content_'.$v[catid].'-'.$v[id].'-'.$modelid));}
  
  {if $n==1||$n==5||$n==9||$n==13}
    <div class="blogs" data-scroll-reveal="enter bottom over 1s" >
      <h3 class="blogtitle"><a href="{$v[url]}" target="_blank">{$v[title]}</a></h3>
      <span class="blogpic"><a href="{$v[url]}" title="{$v[title]}">
      	{if $v[thumb]}
      		<img class="autohg" src="{$v[thumb]}" alt="{$v[title]}">
      	{else}
      		<img src="{IMG_PATH}lau_images/default.png" alt="缺省图">
      	{/if}
      </a></span>
      <p class="blogtext">{$v[description]} </p>
      <div class="bloginfo">
        <ul>
          <li class="author"><a href="{$v[url]}">Danoge</a></li>
          <li class="lmname"><a href="{$CATEGORYS[$v[catid]][url]}">{$CATEGORYS[$v[catid]][catname]}</a></li>
          <li class="timer">{date('Y-m-d H:i:s',$v[inputtime])}</li>
          <li class="view"><span>{$views}</span>已阅读</li>
          <li class="like">评论:{if $comment_total}{$comment_total}{else}0{/if}</li>
        </ul>
      </div>
   	</div> 
  {/if}
  {if $n==2||$n==6||$n==10||$n==14}
    <div class="blogs" data-scroll-reveal="enter bottom over 1s" >
      <h3 class="blogtitle"><a href="{$v[url]}" target="_blank">{$v[title]}</a></h3>
      <p class="blogtext">{$v[description]} </p>
      <div class="bloginfo">
        <ul>
          <li class="author"><a href="{$v[url]}">Danoge</a></li>
          <li class="lmname"><a href="{$CATEGORYS[$v[catid]][url]}">{$CATEGORYS[$v[catid]][catname]}</a></li>
          <li class="timer">{date('Y-m-d H:i:s',$v[inputtime])}</li>
          <li class="view"><span>{$views}</span>已阅读</li>
          <li class="like">9999</li>
        </ul>
      </div>
    </div>
  {/if}
  {if $n==3||$n==7||$n==11||$n==15}
    <div class="blogs" data-scroll-reveal="enter bottom over 1s" >
      <h3 class="blogtitle"><a href="{$v[url]}" target="_blank">{$v[title]}</a></h3>
      <span class="bplist"><a href="{$v[url]}" title="{$v[title]}">
      {if $v[thumb]}
      <li><img class="autohg" src="{$v[thumb]}" alt="{$v[title]}"></li>
      <li><img class="autohg" src="{$v[thumb]}" alt="{$v[title]}"></li>
      <li><img class="autohg" src="{$v[thumb]}" alt="{$v[title]}"></li>
      {else}
      <li><img src="{IMG_PATH}lau_images/default.png" alt="缺省图"></li>
      <li><img src="{IMG_PATH}lau_images/default.png" alt="缺省图"></li>
      <li><img src="{IMG_PATH}lau_images/default.png" alt="缺省图"></li>
      {/if}
      </a></span>
      <p class="blogtext">{$v[description]} </p>
      <div class="bloginfo">
        <ul>
          <li class="author"><a href="{$v[url]}">Danoge</a></li>
          <li class="lmname"><a href="{$CATEGORYS[$v[catid]][url]}">{$CATEGORYS[$v[catid]][catname]}</a></li>
          <li class="timer">{date('Y-m-d H:i:s',$v[inputtime])}</li>
          <li class="view"><span>{$views}</span>已阅读</li>
          <li class="like">9999</li>
        </ul>
      </div>
   	</div>
  {/if}
  {if $n==4||$n==8||$n==12||$n==16}
    <div class="blogs" data-scroll-reveal="enter bottom over 1s" >
      <h3 class="blogtitle"><a href="{$v[url]}" target="_blank">{$v[title]}</a></h3>
      <span class="bigpic"><a href="{$v[url]}" title="{$v[title]}">
      	{if $v[thumb]}
      		<img class="autohg" src="{$v[thumb]}" alt="{$v[title]}">
      	{else}
      		<img src="{IMG_PATH}lau_images/default.png" alt="缺省图">
      	{/if}
      </a></span>
      <p class="blogtext">{$v[description]} </p>
      <div class="bloginfo">
        <ul>
          <li class="author"><a href="{$v[url]}">Danoge</a></li>
          <li class="lmname"><a href="{$CATEGORYS[$v[catid]][url]}">{$CATEGORYS[$v[catid]][catname]}</a></li>
          <li class="timer">{date('Y-m-d H:i:s',$v[inputtime])}</li>
          <li class="view"><span>{$views}</span>已阅读</li>
          <li class="like">9999</li>
        </ul>
      </div>
    </div>
  {/if}
  {/loop} 
{/pc} 

相关阅读 · 拓展功能:


以上就是关于“ phpcmsV9 首页调用全站最新文章数据的办法 ” 的全部内容。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值