dede站点变量如何正确调用?

99ANYc3cd6
预计阅读时长 18 分钟
位置: 首页 DEDE建站 正文

全局函数调用

全局函数可以在 PHP 代码中直接使用,也可以在某些特定场景下的模板文件(如 index.php)中直接调用,这些函数通常以

dede站点变量调用
(图片来源网络,侵删)

站点基本信息

这些是最常用、最核心的站点变量。

函数名 作用 示例
GetSiteUrl($siteid=1) 获取指定站点的根网址 {dede:global name='cfg_basehost'/} (更推荐)
cfg_webname 站点名称 echo $cfg_webname;
cfg_webname 站点名称 {dede:global name='cfg_webname'/}
cfg_weburl 站点根目录网址 echo $cfg_weburl;
cfg_weburl 站点根目录网址 {dede:global name='cfg_weburl'/}
cfg_powerby 站点版权信息 echo $cfg_powerby;
cfg_copyright 站点版权信息 {dede:global name='cfg_copyright'/}
cfg_adminemail 管理员邮箱 echo $cfg_adminemail;
cfg_keywords 站点关键词 {dede:global name='cfg_keywords'/}
cfg_description 站点描述 {dede:global name='cfg_description'/}

示例:index.php 文件中,可以这样调用:

echo "<title>".$cfg_webname."</title>";
echo "<meta name='keywords' content='".$cfg_keywords."'>";
echo "<meta name='description' content='".$cfg_description."'>";

模板标签调用

这是在 DedeCMS 模板文件(.htm)中调用变量的标准方式,语法为 {dede:标签名 属性='值'}

全局变量标签

使用 {dede:global/} 标签来调用在后台“系统” -> “系统基本参数”中设置的全局变量。

dede站点变量调用
(图片来源网络,侵删)
标签属性 作用 示例
name 指定要获取的变量名称 {dede:global name='cfg_webname'/}
function 对变量进行函数处理 {dede:global name='cfg_webname' function='substr(@me,0,10)'/} (截取前10个字符)

常用全局变量列表:

  • {dede:global name='cfg_webname'/} - 站点名称
  • {dede:global name='cfg_weburl'/} - 站点网址
  • {dede:global name='cfg_basehost'/} - 站点域名 (非常重要,推荐使用)
  • {dede:global name='cfg_powerby'/} - 版权信息
  • {dede:global name='cfg_icp'/} - ICP备案号
  • {dede:global name='cfg_analyst'/} - 站统代码

示例:head.htm 模板文件中

<meta name="keywords" content="{dede:global name='cfg_keywords'/}, {dede:field name='keywords'/}">
<meta name="description" content="{dede:global name='cfg_description'/}, {dede:field name='description'/}">

字段标签

字段标签用于调用当前文档(文章、栏目等)的具体字段,通常用在列表页(list_*.htm页(article_*.htm)。

标签名 作用 适用场景
{dede:field.title/} 调用文章/栏目标题 内容页、列表页
{dede:field.seotitle/} 调用文章/栏目自定义标题(SEO标题) 内容页、列表页
{dede:field.keywords/} 调用文章关键词 内容页、列表页
{dede:field.description/} 调用文章描述 内容页、列表页
{dede:field.pubdate function='strftime("%Y-%m-%d",@me)'/} 调用文章发布日期,并格式化 内容页、列表页
{dede:field.source/} 调用文章来源 内容页、列表页
{dede:field.writer/} 调用文章作者 内容页、列表页
{dede:field.content/} 调用文章正文内容
{dede:field.id/} 调用文章ID 内容页、列表页

示例:article_article.htm (内容页) 模板中

dede站点变量调用
(图片来源网络,侵删)
<h1>{dede:field.title/}</h1>
<div class="info">
    发布时间:{dede:field.pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/} &nbsp;&nbsp;
    作者:{dede:field.writer/} &nbsp;&nbsp;
    来源:{dede:field.source/}
</div>
<div class="content">
    {dede:field.content/}
</div>

环境变量标签

{dede:global/} 的一个特殊用法是调用 PHP 中的 $_SERVER 等超全局变量。

标签属性 作用 示例
name 指定 PHP 超全局变量名,格式为 $_SERVER[REQUEST_URI] {dede:global name='$_SERVER[REQUEST_URI]'/}

示例:

  • 获取当前页面的完整URL: {dede:global name='cfg_basehost'/}{dede:global name='$_SERVER[REQUEST_URI]'/}
  • 获取当前页面的文件名: {dede:global name='PHP_SELF'/}

列表页变量标签

这些标签专门用于列表模板(list_*.htm)。

标签名 作用
{dede:list pagesize='10'/} 开始一个列表循环,pagesize 表示每页显示条数。
[field:title/] {dede:list} 循环内部,调用当前文章的标题。
[field:arcurl/] 调用当前文章的链接地址。
[field:pubdate function='strftime("%Y-%m-%d",@me)'/] 调用并格式化当前文章的发布日期。
[field:source/] 调用当前文章的来源。
[field:writer/] 调用当前文章的作者。
{dede:pagelist listsize='4'/} 调用分页条。

示例:list_article.htm (文章列表页) 模板中

<ul class="list">
    {dede:list pagesize='20'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span class="date">([field:pubdate function='strftime("%Y-%m-%d",@me)'/])</span>
    </li>
    {/dede:list}
</ul>
<div class="page">
    {dede:pagelist listsize='4'/}
</div>

常用变量总结与最佳实践

变量类型 调用方式 常见用途
站点信息 {dede:global name='cfg_XXX'/} <title><meta>、页脚版权、Logo链接等
当前文档信息 {dede:field.name/} 、内容、发布时间、作者等
列表循环信息 [field:name/] 在列表页中循环显示文章标题、链接等
系统环境 {dede:global name='$_SERVER[XXX]'/} 获取当前URL、服务器信息等
栏目信息 {dede:field.name/} (在栏目页) 调用当前栏目的名称、描述等

最佳实践:

  1. 优先使用 cfg_basehost:在需要链接到网站首页时,使用 {dede:global name='cfg_basehost'/}cfg_weburl 更可靠,因为它不受“站点设置”中“站点根目录”参数的影响。
  2. 善用 function:对日期、文本等变量进行格式化处理,可以让模板更整洁。strftime 是格式化日期的利器。
  3. 理解作用域{dede:field.title/} 在首页、列表页和内容页中调用的内容是不同的,在首页,它可能调用的是“站点首页”的标题;在列表页,它调用的是“当前栏目”的标题;在内容页,它才调用“当前文章”的标题,请根据模板类型选择正确的标签。
  4. 使用缓存:DedeCMS 的模板系统有缓存机制,修改模板后,需要到后台“生成” -> “更新HTML”或“更新缓存”,才能在网站上看到效果。

希望这份详细的总结能帮助你更好地掌握 DedeCMS 的变量调用!

-- 展开阅读全文 --
头像
c语言以及java语言
« 上一篇 04-24
如何更换dede模板
下一篇 » 04-24

相关文章

取消
微信二维码
支付宝二维码

目录[+]