如何在织梦手机站中添加并配置tag标签列表页及相应模板?
织梦(DedeCMS)是一款流行的开源内容管理系统,广泛应用于各种网站开发中,在移动端的优化和用户体验提升上,添加TAG标签列表页和模板是一个常见且重要的需求,本文将详细介绍如何在织梦手机站中添加TAG标签列表页和模板,并提供相关代码示例和操作步骤。
一、准备工作
1、备份文件:在进行任何修改之前,务必先备份你的网站文件和数据库,以防出现意外情况。
2、确认环境:确保你的服务器支持伪静态,并且已经开启了伪静态功能。
二、具体步骤
1. ***并修改tags.php文件
需要将网站根目录下的tags.php
文件***到m
文件夹中,并进行以下修改:
require_once (dirname(__FILE__) . "/include/common.inc.php"); 改成 define('DEDEMOB', 'Y'); require_once (dirname(__FILE__) . "/../include/common.inc.php");
继续找到tag.htm
并修改为tag_m.htm
,同样地,将taglist.htm
修改为taglist_m.htm
。
2. 创建手机端模板
在你的模板文件夹里添加两个新的模板文件:tag_m.htm
和taglist_m.htm
,这两个文件分别对应TAG标签首页和TAG标签列表页。
tag_m.htm:这是TAG标签首页模板,用于展示所有的文章标签。
taglist_m.htm:这是TAG标签列表页模板,用于展示某个标签的关联文章。
你可以在这两个模板文件中使用织梦内置的标签来调用数据,
<! tag_m.htm > <ul> {dede:tag row='30' sort='new' getall='0'} <li><a href='[field:link/]'>[field:tag /]</a></li> {/dede:tag} </ul>
<! taglist_m.htm > <ul> {dede:arcrow='30' type='tag'} <li><a href='[field:arcurl/]'>[field:title /]</a></li> {/dede:arc} </ul>
3. 修改taglib/tag.lib.php文件
打开/include/taglib/tag.lib.php
文件,找到以下代码:
global $dsql,$envs,$cfg_cmsurl;
将其修改为:
global $dsql,$envs,$cfg_cmsurl,$cfg_mobileurl;
继续找到大约在第87行的$row['link']
,在其上方加入以下代码:
if(defined('DEDEMOB')) $cfg_cmsurl = $cfg_mobileurl;
完成以上步骤后,你的TAG标签动态和伪静态设置就已经完成了,如果你的TAG标签是生成静态的,则需要酌情修改相关代码。
4. 配置伪静态
为了实现TAG标签列表页的伪静态,你需要在后台进行如下设置:
1、登录织梦后台,进入“系统”>“系统基本设置”>“核心设置”。
2、找到“是否使用伪静态”选项,勾选“是”。
3、保存设置。
你还需要配置伪静态规则,假设你的伪静态规则目录为rewrite
,你可以按照以下方式设置:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !f RewriteCond %{REQUEST_FILENAME} !d RewriteRule ^tags/(.*)$ /index.php?tags=$1 [L]
将上述规则添加到你的Apache配置文件或.htaccess
文件中。
5. 测试与调试
完成上述步骤后,访问你的手机站TAG标签列表页,检查是否正常显示,如果出现问题,可以查看日志文件或调试代码,找出问题所在。
三、常见问题及解决方案
1. TAG标签列表页分页没有数据
这可能是由于TAG标签列表核心文件不严谨引起的,解决方法是打开/include/arc.taglist.class.php
文件,找到大约在第129至131行的代码,删除或修改这些代码,以确保关联的TAG标签所属的已删除文档在TAG表中被删除。
2. TAG标签点击后跳转到PC端
确保你在模板文件中使用了正确的URL路径,在tag_m.htm
和taglist_m.htm
中使用相对路径而不是绝对路径,还可以在移动站搜索框代码中加入隐藏字段,指定移动端:
<input type="hidden" name="mobile" value="1">
通过以上步骤,你可以在织梦手机站中成功添加TAG标签列表页和模板,并实现伪静态化,这不仅提升了用户体验,还有助于搜索引擎优化(SEO),如果在实际操作中遇到问题,可以参考官方文档或寻求社区帮助,希望本文对你有所帮助!
五、FAQs
Q1:如何修改TAG标签的调用数量?
A1:在模板文件中使用织梦标签时,可以通过参数row
来指定调用条数。
{dede:tag row='30' sort='new' getall='0'}
这里的row='30'
表示每次调用30条记录,你可以根据需要调整这个数值。
Q2:如何实现TAG标签的静态化?
A2:要实现TAG标签的静态化,你需要执行以下步骤:
1、在DEDE网站根目录建立“tag”目录(小写)。
2、在DEDE后台SQL运行器里执行以下SQL语句:
ALTER TABLEdede_tagindex
ADDmaketime
INT(10) UNSIGNED NOT NULL DEFAULT '0';
3、增加以下文件:templets/default/list_tag.htm
、templets/default/index_tag.htm
、dede/makehtml_tag_action_list.php
、dede/makehtml_tag_action_index.php
、dede/makehtml_tag.php
、dede/templets/makehtml_tag.htm
。
4、修改文件:dede/inc/inc_menu.php
第142行插入include/taglib/tag.lib.php
第61行屏蔽,第62行插入(参考附带的文件)。
5、在后台“生成”菜单下新增“更新TAG静态”选项,即可生成TAG标签的静态页面。