前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHPCMS模板制作精髓

PHPCMS模板制作精髓

作者头像
李维亮
发布2021-07-09 11:02:21
37.3K0
发布2021-07-09 11:02:21
举报
文章被收录于专栏:李维亮的博客

常用标签

  • {$SEO'keyword'} 页面关键字
  • {$SEO'description'} 页面描述
  • {APP_PATH} 首页地址 格式 http://www.liweiliang.com/
  • {$title} 文章标题
  • {url} 文章链接 仅限于动态或伪静态页面,纯静态页面请使用 {go( catid,
  • {$content} 文章内容
  • {$description} 文章描述

时间标签

  • {$inputtime} 创建时间 2013-10-06 21:31:00
  • {$updatetime}更新时间 2013-10-06 21:31:00 注:在静态文章页中无法调用
  • {date('Y-m-d',strtotime($inputtime))} 循环外使用 2013-10-06
  • {date('Y-m-d',$rinputtime)} 循环内使用 2013-10-06

字符截断其中v为loop循环的变量,也有人习惯用 r

  • {str_cut($vtitle, 30)} 文章标题 限制30字符
  • {str_cut($vdescription,100,'..')} 文章描述,限制100字符,超出部分显示".."
  • {strip_tags($vdescription} 去除格式的描述
  • {str_cut(strip_tags($vdescription),200,'…')} 去除格式的描述,并在200字符时切断,用…表示切断部分

缩略图

代码语言:javascript
复制
{$v[thumb]} 完整图片
{thumb($v[thumb],150,112)} 把图片裁剪成宽150,高112,裁剪后的图片自动在附件中生成

栏目参数

代码语言:javascript
复制
{$CAT[catname]} 栏目名称
{$CAT[letter]} 栏目拼音
{$CAT[url]} 栏目链接

以上标签首页不能调用,分类页和文章页都可以。从某种意义上讲 CAT = CATEGORYS`$catid 但是$CATEGORYS是二维数组,可以在任意位置调用。可以看下$CATEGORYS栏目数组面包屑导航{catpos($`catid)} 当前位置,在首页什么都不显示,在栏目页和文章页会显示所在栏目层级。一般都这么用

代码语言:javascript
复制
<div class="crumb">当前位置: <a href="{APP_PATH}">首页</a> > {catpos($catid)}</div>

文章页的上一篇和下一篇代码

代码语言:javascript
复制
上一篇:<a href="{$previous_page[url]}">{$previous_page[title]}</a>
下一篇:<a href="{$next_page[url]}">{$next_page[title]}</a>

点击数调用

必须先调用jquery库,比如

代码语言:javascript
复制
<script src="http://www.cnjiugong.com/statics/js/jquery.min.js"></script>

需要显示的位置加入代码

代码语言:javascript
复制
<span id="hits"></span>

最后还需要调用下统计代码

代码语言:javascript
复制
<script src="{APP_PATH}api.php?op=count&amp;id={$id}&amp;modelid={$modelid}"></script> 

注:以上代码是依据HTML5的规则,省略了指定类型的标签。

文件导入

  • {template "content","header"} 调用content目录下的header.html文件
  • {template "content","footer"} 调用content目录下的header.html文件
  • {template "content","filename"} 调用content目录下的filename.html文件

判断首页分类列表页内页

下面是我自己总结出来的,用户PHPCMS的页面判断

  • {if !$catid}首页{/if}
  • {if $child}栏目首页{/if}
  • {if $parentid}栏目列表页{/if}
  • {if $catname}栏目首页和栏目列表页{/if}
  • {if $id}内容页{/if}
  • {if $tag}标签列表页

栏目列表

代码语言:javascript
复制
{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
<li><a href="{$r[url]}">{$r[catname]}</a></li>
{/loop}
{/pc}

调用哪一级别的栏目列表,主要取决于参数catid的值。

  • 一级栏目列表 catid="0"
  • 同级栏目列表 catid="$parentid"

如果需要当前栏目高亮,则只需要用if语句判断一下即可

代码语言:javascript
复制
<li{if $r[catid]==$catid} class="current"{/if}>

更复杂的情况见 PHPCMS栏目列表的调用

文章列表

分类最新文章

代码语言:javascript
复制
{pc:content action="lists" catid="$catid" num="20" order="id DESC"} 
{loop $data $v}
<li><a href="{$v['url']}">{$v['title']}</a></li>
{/loop}
{/pc}

<strong>全站最新文章</strong>

{pc:get sql="SELECT * FROM v9_news a,v9_news_data b WHERE a.id=b.id ORDER BY inputtime DESC"}
{loop $data $v}
<li><a href="{$v[url]}">{$v[title]}</a></li>
{/loop}
{/pc}

随机文章把排序部分改成 order="rand()"添加分页功能在pc标签最后加一个属性 page="

代码语言:javascript
复制
page="$page" 静态页面分页
page="$_GET[page]" 动态页面分页

推荐内容

推荐到首页

代码语言:javascript
复制
{pc:content action="position" posid="2" order="id DESC" num="5"}
{loop $data $key $val}
<li><a href="{$val['url']}">{$val['title']}</a></li>
{/loop}
{/pc}

只推荐到当前栏目(包括子栏目的文章)

代码语言:javascript
复制
{pc:content action="position" posid="5" order="id DESC" catid=$catid}
{loop $data $v}
{/loop}
{/pc}

栏目点击排行

代码语言:javascript
复制
{pc:content action="hits" catid="$catid" order="weekviews DESC" num="10"}
{loop $data $key $val}
<li><a href="{$val['url']}">{$val['title']}</a></li>
{/loop}
{/pc} 

<li>day 调用多少天内的排行,默认值0,一般也不用这个属性</li>

<li>order 排序类型(本月排行- monthviews DESC 、本周排行 - weekviews DESC、今日排行 - dayviews DESC)</li>

</ul>

全站点击排行

PHPCMS默认仅支持栏目点击排行榜,在V9版本中,也可以通过数据库来调用全站点击排行。

代码语言:javascript
复制
{pc:get sql="SELECT DISTINCT url,title,views FROM v9_news,v9_hits WHERE v9_news.id = substring(v9_hits.hitsid,5) ORDER BY v9_hits.views DESC" num="10" }
<ul>
{loop $data $v}
<li><a href="{$v['url']}">{$v[title]}</a><span>点击数:{$v[views]}</span></li>
{/loop}
</ul>
{/pc}

相关文章

代码语言:javascript
复制
{pc:content action="relation" relation="$relation" keywords="$rs[keywords]" catid="$catid" num="10" id="$id"}
{if $data}
{loop $data $r}
<li><a href="{$r[url]}">{$r[title]}</a></li>
{/loop}
{/if}
{/pc}

PHPCMS的相关文章是根据关键字来获取的,拥有相同关键字的文章被定义为相关文章。其他参数,如 catid="

代码语言:javascript
复制
{pc:content action="relation" relation="$relation" keywords="$rs[keywords]" catid="$catid" num="12" id="$id"}
{if $data}
{loop $data $v}
<li><a href="{$v['url']}">{$v['title']}"</a></li>
{/loop}
{else}
{pc:get sql="SELECT * FROM v9_news WHERE catid=$catid and id!=$id ORDER BY RAND()" num="12"}
{loop $data $v}
<li><a href="{$v['url']}">{$v['title']}"</a></li>
{/loop}
{/pc}
{/if}
{/pc}

调用随机文章列表中,我设定了条件必须是同一个分类下的文章且不能包含本身。

友情链接

代码语言:javascript
复制
{pc:link action="type_list" order="listorder DESC"}
{loop $data $v}
<li><a href="{$v['url']}" target="_blank">{$v['name']}</a></li>
{/loop}
{/pc}

更复杂的友情链接见 PHPCMS友情链接调用

最后附上一些比较实用的方法

PHPCMS判断每5行进行一次分割

PHPCMS列表第一项特殊化

PHPCMS详解栏目ID

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常用标签
  • 文件导入
  • 判断首页分类列表页内页
  • 栏目列表
  • 文章列表
  • 友情链接
  • 最后附上一些比较实用的方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档