公共标签
公共标签是在任意模板页面中都可以直接调用的基础标签,涵盖包含文件、站点信息、公司信息、页面SEO、URL路径、面包屑、二维码、验证码、搜索、CSRF、语言等常用功能。掌握公共标签是模板开发的第一步。
1. 包含文件标签
用于引入公共模板片段,减少重复代码,路径基于当前模板目录下的html/文件夹。
{soeay:include file="comm/head.html"}
{soeay:include file="comm/nav.html"}
{soeay:include file="comm/foot.html"}| 属性 | 说明 |
|---|---|
| file | 必填。被包含文件相对于当前模板 html/ 目录的路径,如 comm/head.html |
注意:被包含文件中同样可以再次使用 {soeay:} 标签,系统会递归解析;但请勿循环包含,否则会导致死循环。
2. 站点信息标签
读取后台「系统设置 → 站点信息」中的配置,在所有页面全局可用。
{soeay:site.title} 站点标题
{soeay:site.subtitle} 站点副标题
{soeay:site.keywords} 站点关键词
{soeay:site.description} 站点描述
{soeay:site.logo} 站点LOGO地址
{soeay:site.domain} 站点域名
{soeay:site.icp} 备案号
{soeay:site.copyright} 版权信息
{soeay:site.theme} 当前模板主题名使用示例:
{soeay:site.title} - {soeay:site.subtitle}站点信息标签的更多字段与注意事项,请参阅「站点信息标签」章节。
3. 公司信息标签
读取后台「系统设置 → 公司信息」中的联系信息,常用于联系我们页面和页脚。
{soeay:company.name} 公司名称
{soeay:company.address} 公司地址
{soeay:company.mobile} 手机号码
{soeay:company.phone} 固定电话
{soeay:company.email} 电子邮箱
{soeay:company.qq} QQ号码
{soeay:company.weixin} 微信号码4. 当前栏目信息标签
自动识别当前页面所在栏目,输出栏目相关字段。在栏目页、详情页、单页中可用;在首页等非栏目页面可能为空。
{soeay:sort.scode} 当前栏目编码
{soeay:sort.name} 当前栏目名称
{soeay:sort.subname} 栏目副标题
{soeay:sort.filename} 栏目URL标识
{soeay:sort.ico} 栏目标图标
{soeay:sort.pic} 栏目大图
{soeay:sort.keywords} 栏目关键词
{soeay:sort.description} 栏目描述
{soeay:sort.pcode} 父栏目编码
{soeay:sort.tcode} 顶级栏目编码注意:建议在首页或未知栏目页面配合条件标签判断后输出,避免空值。
5. 页面 SEO 信息标签
输出当前页面的标题、关键词、描述。系统会按「内容 > 栏目 > 站点」的优先级自动组合,模板中无需再写复杂判断。
{soeay:page_title} 当前页面标题
{soeay:page_keywords} 当前页面关键词
{soeay:page_description} 当前页面描述使用示例:
{soeay:page_title}6. 路径与地址标签
| 标签 | 说明 | 示例输出 |
|---|---|---|
| {soeay:sitepath} | 站点根路径 | / |
| {soeay:sitetplpath} | 当前模板Web路径 | /template/default |
| {soeay:siteurl} {soeay:sitedomain} | 站点域名(读取后台配置,为空则自动检测) | www.soeaycms.com |
| {soeay:httpurl} | 当前协议 + 域名 | https://www.soeaycms.com |
| {soeay:pageurl} | 当前页面完整URL | https://www.soeaycms.com/news/1.html |
使用示例:
当前网址:{soeay:pageurl}7. 面包屑导航标签
输出「首页 > 栏目 > 子栏目 > 正文」的层级导航,列表页和详情页通用。
{soeay:position}| 属性 | 说明 | 默认值 |
|---|---|---|
| separator | 分隔符 | »(显示为 ») |
| indextext | 首页文本 | 首页 |
| separatoricon | 分隔图标URL | 无 |
| indexicon | 首页图标URL | 无 |
{soeay:position separator=" / " indextext="网站首页"}8. 二维码生成标签
调用公共二维码接口,将任意字符串转成二维码图片URL。
{soeay:qrcode string="{soeay:httpurl}{soeay:pageurl}"}| 属性 | 说明 |
|---|---|
| string | 必填。需要生成二维码的字符串/URL |
9. 验证码标签
用于留言板、自定义表单等需要人机校验的场景。由后台「系统设置 → 站点信息 / 互动设置」中的验证码开关控制是否启用。
| 标签 | 说明 | 输出示例 |
|---|---|---|
| {soeay:checkcodestatus} | 输出验证码开关状态,1=开启、0=关闭 | 1 |
| {soeay:checkcode} | 输出验证码图片地址 | /common/checkcode |
使用示例(先判断是否开启,再显示图片与输入框):
{soeay:if('{soeay:checkcodestatus}'=='1')}
{/soeay:if}说明:验证码图片地址为/common/checkcode,点击图片通过追加随机参数刷新;提交时表单字段名为checkcode。配合 CSRF 标签使用可同时防机器提交与跨站伪造。
10. 搜索与留言相关标签
| 标签 | 说明 |
|---|---|
| {soeay:search_keyword} | 有搜索词时返回该词,否则返回后台配置的热门搜索词 |
| {soeay:scaction} | 搜索表单提交地址,固定输出 /search |
| {soeay:msgaction} | 留言板提交地址,固定输出 /message |
搜索表单示例:
<form action="{soeay:scaction}" method="get">
<input type="text" name="keyword" value="{soeay:search_keyword}" placeholder="请输入搜索关键词" aria-label="搜索关键词">
<button type="submit" class="btn btn-primary">搜索</button>
</form>11. CSRF 安全标签
用于自定义表单提交时防止跨站请求伪造攻击。
{soeay:csrf_token} 输出纯 Token 字符串
{soeay:csrf_field} 输出完整隐藏域,如 <input type="hidden" name="_csrf_token" value="Token值">使用示例:
<!-- 方式一:直接输出隐藏域(推荐) -->
{soeay:csrf_field}
<!-- 方式二:仅取 Token,自行写入隐藏域 -->
<input type="hidden" name="_csrf_token" value="{soeay:csrf_token}">注意:后台接收时会校验_csrf_token字段,手动写的表单必须包含该字段,否则提交会被拒绝。
12. 当前语言标签
输出当前语言编码,配合多语言功能使用。
{soeay:lang}默认输出 cn(简体中文),多语言站点可输出 en 等代码。更多多语言标签请参阅「多语言建站」章节。
13. 程序运行时间标签
输出页面从开始解析到当前位置所消耗的时间,常用于页脚展示性能信息。
页面执行时间:{soeay:runtime}14. 日期格式化标签
将日期字符串按指定格式输出。不填 input 时输出当前时间。
{soeay:date input="2026-08-16" style="Y年m月d日"}
{soeay:date style="Y-m-d H:i:s"}| 属性 | 说明 | 默认值 |
|---|---|---|
| input | 待格式化的日期字符串 | 当前时间 |
| style | PHP date 格式字符 | Y-m-d |
15. 字符串截取标签
对指定字符串进行截取,常用于栏目简介、摘要等场景。
{soeay:substr input="SoeayCMS 商业内容管理系统" length=6}| 属性 | 说明 | 默认值 |
|---|---|---|
| input | 待截取字符串 | 空 |
| length | 截取长度(按字符) | 0(不截取) |
| start | 起始位置 | 0 |
16. 自定义标签
读取后台「扩展功能 → 自定义标签」中定义的内容,支持单值或逗号分隔随机轮显。
{soeay:label.tel} 输出固定值,如 400-123-4567
{soeay:label.hotsearch} 若值为"CMS,模板,建站"则随机输出其中一个使用场景:将需要在多个页面维护但可能频繁变化的文案(如客服电话、 Slogan、热门搜索词)放到后台统一管理,前台模板只负责读取。
17. 公共标签使用建议
- 公共标签不依赖具体栏目或内容,可在
comm/head.html、comm/foot.html、首页、列表页、详情页等任意位置使用。 - 页面 SEO 标签(
{soeay:page_title}等)已自动 fallback,无需再用{soeay:if}判断站点/栏目/内容标题。 - 涉及外部资源(二维码、验证码图片)的标签,建议在属性中优先使用
{soeay:httpurl}或{soeay:siteurl}拼接完整路径。
