phpcms欄目呼叫詳解
1.phpcms v9 所有當前欄目資訊標籤
下面做總結,方便大家找到在內容頁想呼叫的東西
當前欄目id: {$catid}
當前欄目名: {$CATEGORYS[$catid][catname]}
當前欄目目錄名: {$CATEGORYS[$catid][catdir]}
當前欄目url: {$CATEGORYS[$catid][url]}
當前欄目位置(麵包屑導航): 首頁 > {catpos($catid)}
正文 當前欄目描述: {$CATEGORYS[$catid][description]}
當前欄目圖片: <img src="{$CATEGORYS[$catid][image]}" />
當前欄目的內容數: {$CATEGORYS[$catid][items]}
當前欄目的點選數: {$CATEGORYS[$catid][hits]}
當前欄目的上級欄目id: {$CATEGORYS[$catid][parentid]}
可以放在內容頁的任何位置 顯示效果如下:
{pc:get sql="select * from v9_category where parentid = 19 order by listorder asc limit 0,6 --"}{loop $data $v}
{$v[url]}
{/loop}{/pc}
2.標籤phpcms v9
呼叫根目錄下phpcms\template\content\header檔案 :
{template “content”,”header”}
字符集 (gbk或者utf-8) :
{CHARSET}
標題和標題seo優化:
{if isset($SEO['title']) && !empty($SEO['title'])} {$SEO['title']} {/if} {$SEO['site_title']} {$SEO['keyword']} {$SEO['description']}
地址替換為根目錄下\statics\css:
{CSS_PATH}
地址替換為根目錄下\statics\js
{JS_PATH}
{pc:content action=”position” posid=”9″ order=”id” num=”10″ cache=”3600″}
pc標籤{pc:content 引數名=”引數值”引數名=”引數值”引數名=”引數值”} {loop $data $k $v}
<li><a href=”{$v[url]}”>{$v[title]}</a></li> {/loop}
pc標籤值
action=”position”————-對話方塊的型別=“內容推薦位列表”
posid=”9″——————–推薦位
ID=“9” order=”id”——————–排序型別=“id”
num=”10″ ——————-資料呼叫數量=“10”
cache=”3600″—————-快取=”3600″毫秒
{APP_PATH}—————–專案地址
action=”hits” 排行,熱點等
action=”lists” 主要用於列表等。
catid=”$catid” 當前欄目ID 指定數字,即為指定的欄目
num=”" 呼叫文章的數量
order=”id DESC” 按ID降序排列
order=”id ASC” 按ID升序排列
thumb=”1″ 縮圖
page=”$page” 需要分頁
每當列表幾行的時候出現一次這個 :{if $num%2==0} {/if}
迴圈標籤
——{loop $data $r} {/loop}
——{loop $info $r} {/loop}
日期——{date(‘Y-m-d H:i:s’,$r[inputtime])}
文章連結——{$r[url]}
文章標題——{$r[title]}
標題擷取——{str_cut($r[title],40,’„’)}
縮圖——loop是info的時候用 {thumb($r[thumb],110,0)
—— loop是data的時候用{thumb($v[thumb],90,0)}
分頁標籤——{$pages}
文章頁標籤
標題——{$title}
內容——{$content}
日期——{$inputtime}
來源——{$copyfrom}
點選數——<span id=”hits”></span>
3.欄目
網站首頁——{siteurl($siteid)}
當前位置——{catpos($catid)}
欄目名稱——{$CAT[catname]}
欄目拼音——{$CAT[letter]}
欄目連結——{$CAT[url]}
父欄目名稱——{$CATEGORYS[$CAT[parentid]][catname]}
父欄目連結——{$CATEGORYS[$CAT[parentid]][url]}
上上級欄目名稱——{$CATEGORYS[$CATEGORYS[$CAT[parentid]][parentid]][catname]}
上上級欄目連結——{$CATEGORYS[$CATEGORYS[$CAT[parentid]][parentid]][url]}
一級父欄目列表
{pc:content action=”category” catid=”0″ num=”34″ siteid=”$siteid” order=”listorder ASC”}
{loop $data $r}
<li><a href=”{$r[url]}”>{$r[catname]}</a></li>
{/loop}
{/pc}
同級欄目列表
{pc:content action=”category” catid=”$parentid” num=”12″ siteid=”$siteid” order=”listorder ASC”}
{loop $data $r}
<li><a href=”{$r[url]}”>{$r[catname]}</a></li>
{/loop}
{/pc}
組圖列表
{loop $photos $r}
<li><a href=”{$r[url]}”><img src=”{thumb($r[url], 75, 45, 0)}” alt=”{$r[alt]}” /></a></li>
{/loop}
註釋:
其中$photos為自定義組圖欄位,
{$r[url]}為圖片地址,
{thumb($r[url], 75, 45, 0)}為圖片縮圖,
{$r[alt]}為圖片描述
4.phpcms v9呼叫全站最新文章功能程式碼
第一步
修改phpcms\modules\content\classes\content_tag.class.php在最後面的 } 上面新增
public function newcontent($data){ $num = intval($data['limit']) ? intval($data['limit']) : '20'; // 設定排序 switch($data['order']){ case '1': $order = ' `id` ASC '; break; case '2': $order = ' `id` DESC '; break; case '3': $order = ' `inputtime` ASC '; break; case '4': $order = ' `inputtime` DESC '; break; case '5': $order = ' `updatetime` ASC '; break; case '6': $order = ' `updatetime` DESC '; break; default: $order = ' `id` DESC '; } if($data['catid']){ $catids = explode(',', $data['catid']); foreach($catids as $catid){ $catid = intval($catid); if(empty($catid))continue; $this->set_modelid($catid); $where = $this->category[$catid]['child'] ? ' `catid` IN ('.$this->category[$catid]['arrchildid'].')' : " `catid` = $catid"; $datas = $this->db->select($where, '*', $num, $order); $data[$catid]['data'] = $datas; // 記錄本次的文章數 $data['num'][] = count($datas); $model_num++; } }else{ $models = getcache('model', 'commons'); foreach($models as $model){ $this->db->set_model($model['modelid']); $datas = $this->db->select('', '*', $num, $order); $data[$model['modelid']]['data'] = $datas; // 記錄本次的文章數 $data['num'][] = count($datas); $model_num++; } } if($data){ // 獲取每個模型應該擷取的條數 $num = ceil($num/$model_num); // 迴圈條數記錄用於找出條數不滿足的數量然後進行平均 $w_num = $w_num_t = ''; foreach($data['num'] as $num_t){ if($num_t < $num){ $w_num += $num-$num_t; $w_num_t++; } } // 判斷是否有不滿足平均數的 如果有那麼就增加平均值 if($w_num_t){ $num += ceil($w_num/($model_num-$w_num_t)); } $datas = array(); foreach($data as $r){ $r_n = ''; if(is_array($r['data'])) foreach($r['data'] as $r_t){ $datas[] = $r_t; if(++$r_n == $num)break; } } return $datas; }else{ return false; } }
第二步:模板呼叫
其實就和預設的文章列表呼叫差不多
{pc:content action="newcontent" }
引數說明:
catid: 可有可無 加了就只調用指定欄目的資訊 多個欄目請使用英文半形的 ,間隔
order:排序 引數值:1-7 具體的含義在程式碼裡面很容易看明白 不祥述
num:呼叫數量 不指定預設呼叫20條