云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

如何在Dedecms中调用当前栏目的链接?

在DedeCMS中,可以使用{dede:field name='typedir'/}来调用当前栏目的链接。

调用当前栏目链接的方法

方法一:内容页模板调用

1、打开文件:找到并打开include/arc.archives.class.php 文件。

2、添加代码:在约第241行的位置,找到如下代码:

“`php

//设置全局环境变量

$this>Fields[‘typename’] = $this>TypeLink>TypeInfos[‘typename’];

“`

在其下一行加入以下代码:

“`php

//设置全局环境变量

$this>Fields[‘typelink’] = $this>TypeLink>GetOneTypeLink($this>TypeLink>TypeInfos);

$this>Fields[‘typeurl’] = $this>TypeLink>GetOneTypeUrl($this>TypeLink>TypeInfos);

“`

3、调用代码页模板的适当位置,使用以下标签调用当前栏目的链接和名称:

“`html

{dede:field.typelink/} 带链接的栏目名称,如:栏目名称

{dede:field.typeurl/} 仅栏目链接,如:/news

“`

标签类型 描述
{dede:field.typelink/} 调用带链接的栏目名称
{dede:field.typeurl/} 调用仅包含链接的栏目路径

方法二:文章页或列表页调用

1、打开文件:找到并打开include/helpers/extend.helper.php 文件。

2、添加函数:在文件中添加以下函数:

“`php

/* 获取顶级栏目相关信息 */

if (!function_exists(‘GetTopTypename’)) {

function GetTopTypename($tid, $field) {

global $dsql;

if ($field == ‘url’) {

return $dsql>GetOne("SELECT typedir FROM dede_arctype WHERE id=$tid");

} elseif ($field == ‘name’) {

return $dsql>GetOne("SELECT typename FROM dede_arctype WHERE id=$tid");

}

}

}

“`

3、调用代码:在文章页或列表页模板的适当位置,使用以下标签调用当前栏目的链接和名称:

“`html

<a href="{dede:field name=’typeurl’ function="GetTopTypename(‘url’,@me)" /}">{dede:field name=’typename’ function="GetTopTypename(‘name’,@me)" /}</a>

“`

标签类型 描述
{dede:field name=’typeurl’ function=”GetTopTypename(‘url’,@me)” /} 调用当前栏目的URL地址
{dede:field name=’typename’ function=”GetTopTypename(‘name’,@me)” /} 调用当前栏目的名称

FAQs

Q1:为什么在内容页模板中使用 {dede:field.typeurl/} 无法调用到栏目链接?

A1:在织梦CMS的内容页模板中,直接使用 {dede:field.typeurl/} 是无法调用到当前栏目链接的,这是因为系统并没有为这种需求提供默认支持,需要通过修改include/arc.archives.class.php 文件来增加对这一功能的支持。

Q2:如何在文章页或列表页调用当前栏目的顶级栏目名及链接?

A2:在文章页或列表页模板中,可以通过添加自定义函数来实现调用当前栏目的顶级栏目名及链接,具体操作步骤包括在include/helpers/extend.helper.php 文件中添加函数GetTopTypename,然后在模板中使用相应的标签进行调用。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《如何在Dedecms中调用当前栏目的链接?》
文章链接:https://www.yunzhuji.net/internet/226298.html

评论

  • 验证码