CmsTop/模板常用函数

来自站长百科
跳转至: 导航、​ 搜索

CmsTop | 安装 | 使用 | 模板

  • str_cut

将给定的字符串截取一定的长度,中文一个字为 2 个长度。

函数原型:

/*  
 * @param $string 待处理的字符串 
 * @param $length 要截取的长度,中文一个字为 2 个长度 
 * @param $dot 超出长度用什么字符替代,默认为 ... 
 * @param $charset 要处理的字符串的编码,可选,默认为 utf-8 
 */
function str_cut($string, $length, $dot = '...', $charset = 'utf-8') {...} 

常用方法: 截取文章标题 15 个中文字符,超出部分不显示

{str_cut($r[title], 30, )} 

截取内容描述 50 个中文字符,超出部分用默认的 ... 代替

{str_cut(description($r[contentid]), 100)}  


  • description

获取指定内容的描述,如果有的话。

函数原型:

/** 
 * @param $contentid 内容ID 
 * @param $modelid 模型ID,可选 
 */
function description($contentid, $modelid = null) {...} 

使用方法: 在内容列表中截取描述

{content size="2" orderby="`weight` DESC"} 
<p>{str_cut(description($r[contentid]), 100, '')}</p> 
{/content} 
  • thumb

截取图片为指定的的高宽,可指定是否返回绝对路径和默认图片。

需要注意的是,截取是按比例处理的,当要截取的比例和原图的比例不吻合时,会返回不超过指定高宽的最合适的大小,因此截取出来的图片大小并不总是指定的高宽。

如果原图不存在,且未指定默认图片,将返回 IMG_URL . 'images/nopic.gif'。

函数原型:

/*  
 * @param $img 待处理的图片 
 * @param $width 要裁剪的宽度 
 * @param $height 要裁剪的高度 
 * @param $is_abs 是否返回绝对路径,默认返回绝对地址 
 * @param $default 当指定的图片不存在时返回的默认的图片 
 */
function thumb($img, $width, $height, $is_abs = 1, $default = null) {...} 

常用方法: 截取内容的缩略图为 100 x 50 的大小

   {thumb($r[thumb], 100, 50)} 

将返回类似 http://cmstop.com/upload/2010/0611/1285555983557.jpg 的地址

截取内容的缩略图为 100 x 50 的大小,并返回相对地址

   {thumb($r[thumb], 100, 50, 0)} 

将返回类似 2010/0611/1285555983557.jpg 的地址


  • table

读取指定表的内容,如果不指定主键值,则返回该表的所有内容;如果指定了主键值,则返回该条记录; 如果进一步指定了字段名称,则返回这条记录指定字段的值。

慎重使用诸如:table('content') 或 table('article') 的写法,不指定主键 ID 将返回该内容表的所有内容,除非你真的知道自己在做什么。

函数原型:

/** 
 * @param $table 要读取的表名称,不需要前缀 
 * @param $id 主键的值(仅支持主键为单列的情况) 
 * @param $field 指定要读取的列名 
 */
function table($table, $id = null, $field = null) 

常用方法: 在 {content} 标签中读取栏目名称

{table('category', $r[catid], 'name')} 
 

在 {content} 标签中读取文章内容

{table('article', $r[contentid], 'content')} 


  • channel

获得所有频道(顶级栏目)。

函数原型:

// 不接受参数 
function channel() {...} 

使用方法:

<ul> 
    {loop channel() $catid $category} 
    <li><a href="{$category[url]}">{$category[name]}</a></li> 
    {/loop} 
</ul> 


  • subcategory

获得指定栏目的子栏目。

函数原型:

/** 
 * @param $catid 指定栏目的栏目ID  
 * @param $tree 是否要返回树形结构的数组 
 * @param $subcategory 初始化的数组,如果指定,返回的结果将和该数组合并 
 */
function subcategory($catid, $tree = false, & $subcategory = array()) {...} 

使用方法: 获得栏目 ID 为 1 的所有子栏目的最新 10 条内容

{loop subcategory(1) $catid $category} 
<h3><a href="{$category[url]}">{$category[name]}</a></h3> 
<ul> 
{content catid="$catid" size="10" orderby="`published` DESC"} 
<li><a href="{$r[url]}"{if $r[color]} style="color:{$r[color]}"{/if}>{str_cut($r[title], 50, '')}</a></li> 
{/content} 
</ul> 
{/loop} 


  • text_format

实体化字符串中的HTML标签,将空格替换为  ,并将换行转换为 <br />。

函数原型:

/*  
 * @param $string 待处理的字符串 
 */
function text_format($string) {...} 
  • config

返回 ./cmstop/config/ 目录里面指定的配置文件或配置项。

函数原型:

/** 
 * @param $file 要读取的配置文件 
 * @param $key 要读取的配置项,不指定 $key 则返回一个数组 
 * @param $default 指定的配置项不存在时的默认值 
 */
function config($file, $key = null, $default = null) {...} 

常用方法: 读取配置文件中的网站字符集,如果没有定义则使用 UTF-8

{config('config', 'charset', 'UTF-8')} 


  • setting

读取系统或各个扩展的配置。

函数原型:

/** 
 * @param $app 要读取的扩展名称 
 * @param $var 要读取的配置名称,不指定则返回该扩展的所有配置 
 */
function setting($app, $var = null) {...} 

常用方法: 读取发布评论是否审核

{setting('comment', 'ischeck')} 
  • url

根据当前设定的URL模式返回对应的链接。

URL 模式是在 ./cmstop/config/config.php 里面设置的,支持 standard, pathinfo, querystring, rewrite 四种模式,仅对前台有效。

函数原型:

/** 
 * @param $aca 应用名称/控制名称/动作名称 
 * @param $params 附加参数 
 * @param $is_full 是否返回绝对链接 
 */
function url($aca, $params = null, $is_full = false) {...} 

常用方法: 内容页中获取当前内容的评论链接

<a href="{APP_URL}{url('comment/comment/index', 'contentid=' . $contentid)}">查看评论</a> 
  • pages

根据指定参数返回分页 HTML。

函数原型:

/** 
 * @param $total 内容的总数 
 * @param $page 当前分页 
 * @param $pagesize 每页分页大小 
 * @param $offset 偏移量 
 * @param $url 分页所使用的 URL 规则,不指定则使用当前请求的 URL 
 * @param $mode 为 true 则将转换 URL 中的 & 为 & 
 */
function pages($total, $page = 1, $pagesize = 20, $offset = 2, $url = null, $mode = false) {...} 

常用方法: 列表页分页

{pages($total, $page, $pagesize, 2, $urlrule)} 
  • where_mintime / where_maxtime

SQL 查询辅助函数,构造 SQL 附加 WHERE 的时间语句。

函数原型:

function where_mintime($field, $mintime) {...} 
  
function where_maxtime($field, $maxtime) {...} 

常用方法:

<?php
    $sql = "SELECT * FROM `cmstop_content` WHERE " . where_mintime('published', '2010-11-04'); 
    // 结果类似: 
    $sql = "SELECT * FROM `cmstop_content` WHERE published >= 1288828800"; 
?> 


  • modelid

根据指定的模型别名得到模型ID。

函数原型:

/** 
 * @param $alias 模型的英文别名 
function modelid($alias) {...} 


  • username

根据用户ID获得用户名

函数原型:

/** 
 * @param $userid 用户ID 
 */
function username($userid) {...} 

使用方法:

{content size="10" orderby="`published` DESC} 
<span>由 {username($r[createdby])} {if $r[iscontribute]}投稿于{else}发表于{/if} {date('Y-m-d', $r[published])}</span> 
{/content} 
  • userid

根据用户名获得用户ID

函数原型:

/** 
 * @param $username 用户名 
 */
function userid($username) {...} 
  • space_url

根据专栏 ID 获得专栏地址。

函数原型:

/** 
 * @param $spaceid 专栏ID,请注意不是用户ID 
 */
function space_url($spaceid) {...} 


参考来源[ ]

CmsTop使用手册导航

系统安装

安装

系统使用

区块介绍|分类添加|区块管理|推荐位使用|代码区块使用|自由区块使用|区块调用|水印设置|权限机制|权限配置|角色配置|部门配置|管理员配置|发布点|二级域名配置|网页生成|栏目设置

模板制作

模板更换|模板目录结构|模板语法|常用函数|db标签|content标签|discuz标签|phpwind标签|shopex标签|section标签|content_related标签|content_prev /content_next标签