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的。

上一篇:python通过Tkinter库实现的一个简单的文本编辑器源码


下一篇:博客迁移至CSDN