个人工具
名字空间
变换
操作

CmsTop/模板语法

来自站长百科
跳转到: 导航, 搜索

CmsTop | 安装 | 使用 | 模板

  • {$variable}

输出该变量的值,常用于使用系统变量或常量时,如:

 
网站名称 
 {$SYSTEM[sitename]}  
网站 URL 
 {WWW_URL} 
  • 常用的系统常量
  1. {ROOT_PATH} 网站根目录,即 ./ 目录
  2. {WWW_PATH} 网站公网访问根目录,在 CmsTop 大众版中为 ./ 目录
  3. {WWW_URL} 网站主站的网址
  4. {APP_URL} 动态应用的网址
  5. {IMG_URL} 公用图片、样式表、脚本的网址
  6. {UPLOAD_URL} 附件网址(所有上传的文件)
  7. {WAP_URL} Wap 网址
  8. {SPACE_URL} 专栏网址
  • 常用的系统变量:
  1. {{$CONFIG[charset]} 网站编码
  2. {{$SYSTEM[sitename]} 网站名称
  3. {{$SYSTEM[attachexts]} 允许上传的附件类型
  4. {{$SYSTEM[closed]} 网站是否已关闭
  5. {{$SYSTEM[closedreason]} 网站关闭原因
  6. {{$SYSTEM[listpages]} 列表页生成页数(生成列表页时只生成前 N 页以加快生成速度)
  7. {{$SYSTEM[pagesize]} 列表页默认分页数
  8. {{$SYSTEM[seodescription]} 网站 SEO 描述
  9. {{$SYSTEM[seokeywords]} 网站 SEO 关键词
  10. {{$SYSTEM[seotitle]} 网站 SEO 附加标题
  11. {{$SYSTEM[statcode]} 访问统计代码


  • {template 'system/header.html'}

将指定路径的模板文件包含并显示出来,起始位置为当前设定的模板目录

默认为 ./cmstop/templates/default/


  • {if} / {else} / {elseif} / {/if}

流程控制语句,常用于需要根据特殊的条件显示不同内容的情形。

  • {loop $data $r} / {loop $data $n $r}

循环语句,常用于内容列表,将多条内容以相同的 HTML 结构显示出来,其中的 $n 是当前 $r 这条记录的索引值。

需要注意的是,$n 并不总是 0, 1, 2 这样的序列值。比如用在循环栏目列表时:

{loop subcategory() $n $r} 

这里的 $n 就是当前栏目的栏目 ID,即 catid,而不是常见的 0, 1, 2,如果改为这样子就更为清晰:

 {loop subcategory() $catid $category} 

因此,如果要在自定义的 {loop} 循环中使用索引值,最安全的方式是自定义一个索引:

<?php $index = 1; // 根据需要定义初始值为 0 或 1?> 
{loop subcategory() $n $r} 
... 这里是模板内容,可以使用 {$index} 作为当前索引 ... 
<?php $index++; ?> 
{/loop} 


  • {table_name(primary_key_value)->column_name}

从 table_name 表里面获得主键值为 primary_key_value 记录的 column_name 列的值,举例来说:

{loop $data $n $r} 
栏目名称:{category($r[catid])->name} 
{/loop} 

这样子就可以获得当前记录的栏目名称,举一反三,还可以组合出来更多有趣的用法。

需要注意的是,这个语法结构不能被破坏,也就是说,不允许在 {table_name(primary_key_value)->column_name} 前后加上函数来处理它,那样就破坏了这个语法结构。如果确实有需要来处理,可以使用下文介绍的 table 函数。


  • {function_name($variable, ...)}

此语法会被解析为对应的 PHP 函数,并将结果显示出来,所以你可以使用:

{nl2br($r[content])} 

这种方式把内容处理后输出出来。 当然,类似 {str_cut(description($r[contentid]), 100, )} 这种操作也不在话下。


  • 原生 PHP 语法

如果这些还不能满足要求... 可以使用原生的 PHP 语句,如:

<?php 
    echo 'hello, world'; 
?> 

参考来源

CmsTop使用手册导航

系统安装

安装

系统使用

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

模板制作

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

留言