当前位置:首页 > 行业动态 > 正文

如何在DedeCMS模板中通过添加标签来显示完整的文章标题?

在dede模板中,通过增加标签 {dede:field name='title'/},可以使title中显示标题全文。

在DedeCMS中,为了实现标题在title标签中显示全文,可以采用多种方法,以下将详细介绍这些方法及其具体操作步骤:

如何在DedeCMS模板中通过添加标签来显示完整的文章标题?  第1张

方法一:通过修改模板代码实现

1、打开include/inc_fun_SpGetArcList.php文件

找到$row['title'] = cn_substr($row['title'],$titlelen);这一行。

在该行下方增加一行$row['fulltitle'] = $row['title'];。

2、在模板文件中调用完整标题

在需要显示完整标题的地方,使用[field:fulltitle/]代替原来的[field:title/]。

方法二:通过模板标签判断显示完整标题

1、在{dede:arclist}标签中添加判断

在模板文件中,使用如下代码:

     {dede:arclist titlelen='50' row='10'}
     <li><a title="[field:title /]" href="[field:filename /]">[field:title function='( strlen("@me")>30 ? cn_substr("@me",30)."..." : "@me" )'/]</a></li>
     {/dede:arclist}

这段代码会根据标题长度进行判断,如果标题长度超过30字节,则只显示前30字节并在末尾加上省略号,鼠标移上去时显示完整标题。

2、使用CSS控制标题显示

如果希望在页面上直接显示部分标题,但鼠标移上去时显示完整标题,可以使用CSS样式:

     <a  title="DedeCMS2007即将发布" href=" " >DedeCMS2007即将发布</a>

这种方法利用CSS的textoverflow:ellipsis属性来实现部分显示,当鼠标移上去时显示完整标题。

方法三:通过编程方式实现

1、修改程序文件

打开include目录下的inc_fun_SpGetArcList.php文件。

找到并修改$row['title'] = cn_substr($row['title'],$titlelen);这一行为$row['fulltitle'] = $row['title'];。

2、在模板文件中调用完整标题

在需要显示完整标题的地方,使用[field:fulltitle/]代替原来的[field:title/]。

FAQs

1、如何在DedeCMS中设置鼠标悬停时显示完整标题?

在DedeCMS中,可以在模板文件中使用如下代码来实现鼠标悬停时显示完整标题:

     {dede:arclist titlelen='50' row='10'}
     <li><a title="[field:title /]" href="[field:filename /]">[field:title function='( strlen("@me")>30 ? cn_substr("@me",30)."..." : "@me" )'/]</a></li>
     {/dede:arclist}

这样设置后,当鼠标悬停在标题上时,会显示完整的标题内容。

2、如何在DedeCMS中调用完整标题而不截取?

要在DedeCMS中调用完整标题而不截取,可以通过修改模板文件或程序文件,具体步骤如下:

打开include目录下的inc_fun_SpGetArcList.php文件。

找到并修改$row['title'] = cn_substr($row['title'],$titlelen);这一行为$row['fulltitle'] = $row['title'];。

在模板文件中,使用[field:fulltitle/]代替原来的[field:title/]来调用完整标题。

步骤 代码 说明
1 在dede模板的头部引入dede模板标签库 使用
2 获取当前文章的标题 使用
3 获取当前文章的摘要 使用
4 判断摘要是否为空 使用
5 如果摘要不为空,则将标题和摘要拼接 使用
6 如果摘要为空,则只使用标题 使用
7 输出处理后的标题 使用<@title></@title>
8 结束判断摘要的代码 使用#if>

示例代码:

<!DOCTYPE html>
<html>
<head>
    <title><@title /></title>
</head>
<body>
    <! 页面内容 >
</body>
</html>
0