1. 程式人生 > >phpcms v9中模板標籤使用及聯動選單

phpcms v9中模板標籤使用及聯動選單

{template "content","header"}
呼叫根目錄下phpcms\template\content\header檔案
{CHARSET}
字符集 (gbk或者utf-8)
{if isset($SEO['title'])&& !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}{$SEO['keyword']}{$SEO['description']}
標題和標題seo優化
{CSS_PATH}
地址替換為根目錄下\statics\css
{JS_PATH}
地址替換為根目錄下\statics\js
{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"毫秒{get_siteid()}{IMG_PATH}action="hits" 排行,熱點等action="lists"主要用於列表等。catid="$catid" 當前欄目ID 指定數字,即為指定的欄目num="" 呼叫文章的數量order="id DESC" 按ID降序排列order="id ASC" 按ID升序排列"views DESC" sort="""1"縮圖return=""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>
<script language="JavaScript" src="{APP_PATH}api.php?op=count&id={$id}&modelid={$modelid}"></script>
網站首頁----------------{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>

phpcms v9聯動選單的呼叫方法_詳解get_linkage函式

{get_linkage($areaid,1,' >> ',1)}

顯示效果: PHPCMS吧 >> 模板下載 >> PHPCMS模板 [欄位名字為 areaid]

如果你要在列表頁或者其他地方呼叫,除了內容頁,他們有個共同點,都是在 loop 迴圈體裡.變數書寫格式就需要修改,比如:

{get_linkage($r['areaid'],1,' >> ',1)}
複製程式碼

當然這個 $r 也不是絕對的.要看你的loop 是如何寫的.
{loop $data $n $r} 如果是這樣寫的,就是 $r['areaid'] .
另外必須保證此欄位被正確讀取有值.

下面是global.func.php檔案裡函式get_linkage :

/**
* 通過id獲取顯示聯動選單
* @param $linkageid 聯動選單ID
* @param $keyid 選單keyid
* @param $space 選單間隔符
* @param $result 遞迴使用欄位1
* @param $infos 遞迴使用欄位2
*/
function get_linkage($linkageid, $keyid, $space = '>', $type = 1, $result = array(), $infos = array()) {
if($space=='' || !isset($space))$space = '>';
if(!$infos) {
$datas = getcache($keyid,'linkage');
$infos = $datas['data'];
}
if($type == 1 ) {
if(array_key_exists($linkageid,$infos)) {
$result[]=$infos[$linkageid]['name'];
return get_linkage($infos[$linkageid]['parentid'], $keyid, $space, $type, $result, $infos);
} else {
if(count($result)>0) {
krsort($result);
$result = implode($space,$result);
return $result;
}
else {
return $result;
}
}
} else {
return $infos[$linkageid]['name'];
}
}


共有六個引數,尤其是前兩個,不要搞顛倒了. $linkageid, $keyid . 第一個$linkageid是選單id,你釋出的時候選擇的最終極選單id,$keyid是選單keyid,後臺預設的聯動選單PHPCMS吧的keyid就是1.有點繞口,確實,這倆選單id是一回事,但是他們的層級不一樣.keyid就是最大的那個父id,linkageid是子級id.第三個$space就是連線符號,第四個$type就是呼叫內容,如果是1就呼叫完整的,如果設定為0就呼叫最終極的,即如果是0就只顯示PHPCMS模板。預設為1的。