织梦(DedeCMS)是一款流行的中文内容管理系统,其手机WAP模块功能简单但实用,适合搭建企业资讯类网站,在使用过程中可能会遇到一些问题,需要进行修改和优化,本文将详细介绍如何修改织梦wap手机模块网站的方法。
一、模板文件的修改
织梦wap模块的模板文件位于templets/wap
目录下,共有四个主要文件:index.htm
(首页)、list.htm
(列表页)、article.htm
(文章页)和error.htm
(错误页),以及两个图片文件,其中一个是logo.gif
,可以替换为自己的Logo。
1. 导航分隔符的修改
在wap.php
文件的第18行,默认的导航分隔符为空格:
$channellist .= "{$row>typename} ";
可以将其改为竖线以分隔每个导航标签:
$channellist .= "{$row>typename} | ";
这样可以使导航标签更加清晰,不会挤在一起。
2. 文章内容排序的修改
在wap.php
文件的第72行,默认的文章排序方式是按ID降序排列:
$dlist>SetSource("Select id,title,pubdate,click Fromdede_archives
where typeid in($sids) And arcrank=0 order by id desc");
如果希望按发布时间排序,可以改为:
$dlist>SetSource("Select id,title,pubdate,click Fromdede_archives
where typeid in($sids) And arcrank=0 order by pubdate desc");
这样可以确保最新发布的文章显示在前面。
除了模板文件本身的修改,还需要对根目录下的wap.php
文件进行一些人性化的调整。
1. 二级域名绑定
如果不进行二级域名绑定,访问wap页面的方式是在域名后加/wap.php
,为了方便访客用手机浏览,一般会使用wap二级域名进行访问,如wap.example.com
,有两种方法可以实现这一点:
URL转发:如果域名服务商提供URL转发服务,可以将wap二级域名直接指向http://www.example.com/wap.php
。
子目录绑定:可以使用wap二级域名绑定网站根目录下的wap目录,具体步骤如下:
确保空间支持子目录绑定。
将附件解压后上传至网站根目录。
进入系统后台,选择“模块” > “模块管理”,对“手机WAP浏览”点击修改,在文件列表处添加:../wap/index.php
和../wap/templets/wap
。
最后用wap二级域名绑定wap目录即可。
2. 文章图片处理
在wap.inc.php
文件的第54行,默认的图片路径处理方式可能会导致图片无法显示:
$content = str_replace("WAPIMG::{$k}", $attstr, $content);
可以将其改为:
$content = str_replace("WAPIMG::{$k}", "", $content);
如果希望让图片显示,可以修改图片路径为绝对路径,
$content = str_replace("WAPIMG::{$k}", "/assets/images/{$k}", $content);
这样可以确保图片路径正确,图片能够正常显示。
三、IIS设置及重定向
在使用IIS服务器时,需要进行一些额外的设置以确保wap站点正常运行。
1. IIS重定向设置
在IIS管理器中,为www.abc.com
下的wap文件夹创建重定向规则,将请求重定向到wap.abc.com
,这样可以确保用户访问wap站点时,能够正确跳转到wap目录。
2. 新建站点绑定
创建一个新站点wap.abc.com
,并将其绑定到wap目录,这样可以通过wap二级域名直接访问wap站点。
四、手机访问自动跳转
为了让用户在手机上访问PC站点时自动跳转到wap站点,可以在模板文件中添加JavaScript代码,编辑index.htm
文件,添加以下代码:
<script src="/tz.php" type="text/javascript"></script>
在tz.php
文件中编写跳转逻辑:
<?php if(isset($_SERVER['HTTP_USER_AGENT'])) { $clientkeywords = array('nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront', 'symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile'); if (preg_match("/(".implode('|',$clientkeywords).")/i",strtolower($_SERVER['HTTP_USER_AGENT']))){ ?> window.location.href='http://wap.abc.com'; <?PHP } } ?>
这样,当用户使用手机浏览器访问PC站点时,会自动跳转到wap站点。
五、WAP站添加搜索功能
为了使WAP站点具备搜索功能,需要对wap.php
文件进行修改,添加搜索功能代码:
else if($action=='search'){
$needCode = 'UTF8';
if(empty($keyword)) exit('Error!');
require_once(dirname(__FILE__)."/../include/datalistcp.class.php");
$varlist = "cfg_webname,cfg_templeturl";
ConvertCharset($varlist);
$dlist = new DataListCP();
$dlist>SetTemplet($cfg_templets_dir."/wap/search.wml");
$dlist>pageSize = 10;
$dlist>SetParameter("action","search");
$dlist>SetParameter("keyword",$keyword);
$dlist>SetSource("Select id,title,pubdate,click From#@__archives
where title like '%". iconv("UTF8", "GB2312",$keyword)."%' And arcrank=0 order by id desc");
$dlist>Display();
exit();
}
这样,用户就可以在WAP站点上进行搜索了。
六、常见问题及解决方法
Q1: wap.php找不到或不显示文章内容怎么办?
A1: 检查wap.php文件是否存在于根目录,并确认文件路径是否正确,如果文件存在但文章内容不显示,可能是由于模板标签使用不当,确保模板中使用了正确的标签来调用文章内容,
{dede:field name='body' /}
检查数据库中的文章内容是否正确存储,以及是否有权限读取这些内容。
Q2: 如何在WAP站中实现电脑版和手机版数据同步?
A2: 要实现电脑版和手机版数据同步,需要在后台添加更新文档的链接,并在WAP主页文件中添加更新逻辑,具体步骤如下:
1、打开dede/inc/inc_menu.php
文件,添加后台导航栏目链接。
2、复制文件dede/makehtml_homepage.php
到WAP模板目录,并重命名为makehtml_waphomepage.php
。
3、在wap.php
文件中添加更新WAP主页的逻辑,确保每次更新电脑版主页时,同时更新WAP主页。
织梦wap手机模块网站的修改涉及模板文件的调整、二级域名绑定、IIS设置、自动跳转以及搜索功能的添加等多个方面,通过上述步骤,可以有效地优化WAP站点的用户体验和功能性。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1239400.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复