修改 \include\arc.archives.class.php 文件
1、找到并打开 \include\arc.archives.class.php 文件
查找第839行:
```php
$mlink = 'view.php?aid='.$preRow['id'];
```
将其改为:
```php
$mlink = 'view.php?aid='.$nextRow['id'];
```
2、继续在该文件中查找以下代码:
查找:
```php
$this>PreNext['pre'] = "上一篇:<a href='$mlink'>{$preRow['title']}</a> ";
```
在这段代码后面增加:
```php
$this>PreNext['prem'] = "上一篇:<a href='view.php?aid={$preRow['id']}'>{$preRow['title']}</a> ";
```
查找:
```php
$this>PreNext['next'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> ";
```
在这段代码后面增加:
```php
$this>PreNext['nextm'] = "下一篇:<a href='view.php?aid={$nextRow['id']}'>{$nextRow['title']}</a> ";
```
查找:
```php
else if($gtype=='nextimg'){
$rs = $this>PreNext['nextimg'];
}
```
在这段代码后面增加:
```php
else if($gtype=='prem'){
$rs = $this>PreNext['prem'];
}else if($gtype=='nextm'){
$rs = $this>PreNext['nextm'];
}
```
3、手机版调用代码:
上一篇调用代码:
```html
{dede:prenext get='prem'/}
```
下一篇调用代码:
```html
{dede:prenext get='nextm'/}
```
方法二:使用正则表达式获取URL地址
1、进入后台,模块 > 文件管理器 > 上传文件 shell.php,内容为:
访问 \shell.php(具体步骤略)。
2、新建文件 wshell.php,内容为:
访问 \wshell.php(具体步骤略)。
3、修改 /include/arc.archives.class.php 文件:
查找:
```php
$this>PreNext['pre'] = "上一篇:<a href='$mlink'>{$preRow['title']}</a> ";
```
在这段代码后面增加:
```php
$this>PreNext['prem'] = "上一篇:<a href='view.php?aid={$preRow['id']}'>{$preRow['title']}</a> ";
```
查找:
```php
$this>PreNext['next'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> ";
```
在这段代码后面增加:
```php
$this>PreNext['nextm'] = "下一篇:<a href='view.php?aid={$nextRow['id']}'>{$nextRow['title']}</a> ";
```
查找:
```php
else if($gtype=='nextimg'){
$rs = $this>PreNext['nextimg'];
}
```
在这段代码后面增加:
```php
else if($gtype=='prem'){
$rs = $this>PreNext['prem'];
}else if($gtype=='nextm'){
$rs = $this>PreNext['nextm'];
}
```
4、手机版专用调用标签:
上一篇调用代码:
```html
{dede:prenext get='prem'/}
```
下一篇调用代码:
```html
{dede:prenext get='nextm'/}
```
FAQs
问题1: 为什么修改 \include\arc.archives.class.php 文件可以解决手机端上一篇下一篇链接错误的问题?
答案: 修改 \include\arc.archives.class.php 文件中的相关代码,是为了确保在生成手机端页面时能够正确获取到上一篇文章和下一篇文章的ID,从而生成正确的链接,由于默认的PC站调用方式在手机端可能不适用,因此需要手动调整代码逻辑,使其适用于手机端的显示需求。
问题2: 如果我不想修改PHP文件,还有其他方法可以解决这个问题吗?
答案: 除了直接修改PHP文件外,还可以通过编写正则表达式来获取URL地址,然后替换模板中的标签,这种方法同样有效,但相对复杂一些,需要对正则表达式有一定的了解,具体步骤如下:在文章页中,通过正则表达式匹配出上一篇文章和下一篇文章的URL,然后在模板中使用这些新的URL进行替换。
织梦DedeCMS最新版手机端网站“上一页”“下一页”链接错误解决方法
1. 问题
在织梦DedeCMS最新版中,手机端网站可能会出现“上一页”和“下一页”链接错误的问题,导致用户无法正常浏览内容,以下将详细阐述解决这一问题的方法。
2. 常见原因
出现此类问题的原因通常有以下几种:
手机端模板中分页链接代码编写错误。
数据库中分页信息存储错误。
网站配置设置不当。
3. 解决方法
3.1 检查模板代码
1、定位问题模板:首先确定是哪个模板文件导致了链接错误。
2、检查分页链接代码:在模板中找到分页链接的代码,检查其格式是否正确,正确的分页链接通常包含{dede:arclist}
标签和相应的分页参数。
3、修复代码:如果发现代码错误,根据实际情况进行修复。
3.2 检查数据库
1、登录后台:进入织梦DedeCMS后台。
2、检查分页信息管理模块中,查看是否有内容分页信息错误。
3、修复分页信息:如果有错误,可以手动修改或重新生成分页信息。
3.3 网站配置检查
1、检查网站配置:进入织梦DedeCMS后台,找到网站配置模块。
2、检查分页设置:查看分页设置是否正确,如每页显示数量、是否启用分页等。
3、调整配置:如有需要,根据实际情况调整分页设置。
4. 代码示例
以下是一个简单的分页链接代码示例,供参考:
{dede:arclist row="5" titlelen="30" pagestride="1"} <div class="article"> <h2><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></h2> <p>[field:description function="cn_substr(@me,300)"/]...</p> <a href="[field:arcurl/]" title="[field:title/]" target="_blank">阅读更多</a> </div> {/dede:arclist} <div class="page"> <ul> {dede:pagelist listitem="info,index,pre,next" listsize="5" prevtitle="上一页" nexttitle="下一页" listtype="url"} </ul> </div>
5. 归纳
通过以上方法,可以有效地解决织梦DedeCMS最新版手机端网站“上一页”“下一页”链接错误的问题,在解决过程中,请仔细检查每一步,确保问题得到妥善解决。