·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

discuz 手机触屏收费附件不显示的bug修复

506 1
发表于 2020-7-5 15:15:36 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
登录后可见有些站长反馈说在PC端购买过这个附件的,在手机端才能显示附件。
6 S1 S$ E9 b- }: X+ ~(www.m oqu8.c om)
( U" k0 Y2 Z8 N(w ww.m oqu8.c om)
, v: j, g& W0 C% D1 j+ |(w w w.m oqu 8.c om)
这样导致手机端的附件平白无故的消失了~ 应该算是一个比较大的功能上的bug,由于不影响安全,所以官方并未急于修复。

修复起来倒是不很复杂,过程如下():
打开:/upload/source/language/lang_message.php


找到
  1. 'attachment_buyall' => '本帖所有附件购买成功 ',
复制代码
改为
  1. 'attachment_mobile_buy' => '附件购买成功',
复制代码
打开:/upload/source/module/forum/forum_misc.php
找到
  1. if(count($aids) > 1) {                        showmessage('attachment_buyall', 'forum.php?mod=redirect&goto=findpost&ptid='.$attach['tid'].'&pid='.$attach['pid']);                } else {                        $_G['forum_attach_filename'] = $attach['filename'];                        showmessage('attachment_buy', "forum.php?mod=attachment&aid=$aidencode", array('filename' => $_G['forum_attach_filename']), array('redirectmsg' => 1));                }
复制代码
改为:
  1. if(defined('IN_MOBILE')) {                        showmessage('attachment_mobile_buy', 'forum.php?mod=redirect&goto=findpost&ptid='.$attach['tid'].'&pid='.$attach['pid']);                }else{                        if(count($aids) > 1) {                                showmessage('attachment_buyall', 'forum.php?mod=redirect&goto=findpost&ptid='.$attach['tid'].'&pid='.$attach['pid']);                        } else {                                $_G['forum_attach_filename'] = $attach['filename'];                                showmessage('attachment_buy', "forum.php?mod=attachment&aid=$aidencode", array('filename' => $_G['forum_attach_filename']), array('redirectmsg' => 1));                        }                }
复制代码
打开:/upload/template/default/touch/forum/discuzcode.htm' N0 w9 ?# R- U. N(ww  w.m oqu  8.c om)
找到
  1.   <!--{if !$attach['price'] || $attach['payed']}-->                <div id="attach_$attach[aid]" class="box attach mbn" >                        <!--{if $_G['setting']['mobile']['mobilesimpletype'] == 0}-->                        $attach[attachicon]                        <!--{/if}-->                        <!--{if !$attach['price'] || $attach['payed']}-->                                <a href="forum.php?mod=attachment{$is_archive}&aid=$aidencode" target="_blank">$attach[filename]</a>                        <!--{else}-->                                <a href="forum.php?mod=misc&action=attachpay&aid=$attach[aid]&tid=$attach[tid]" target="_blank">$attach[filename]</a>                        <!--{/if}-->                        <em class="xg1">($attach[attachsize])</em>                        <em class="xg1"><br />({lang downloads}: $attach[downloads], $attach[dateline] {lang upload})                        </em>                        <!--{if !$attach['attachimg'] && $_G['getattachcredits']}--><p>{lang attachcredits}: $_G[getattachcredits]</p><!--{/if}-->                </div>                <!--{/if}-->
复制代码
改为
  1. <div id="attach_$attach[aid]" class="box attach mbn" ><!--{if $_G['setting']['mobile']['mobilesimpletype'] == 0}-->$attach[attachicon]<!--{/if}--><!--{if !$attach['price'] || $attach['payed']}--><a href="forum.php?mod=attachment{$is_archive}&aid=$aidencode" target="_blank">$attach[filename]</a><!--{else}--><a href="forum.php?mod=misc&action=attachpay&aid=$attach[aid]&tid=$attach[tid]" target="_blank">$attach[filename]</a><!--{/if}--><em class="xg1">($attach[attachsize])</em><em class="xg1"><br />({lang downloads}: $attach[downloads], $attach[dateline] {lang upload})</em><!--{if !$attach['attachimg'] && $_G['getattachcredits']}-->{lang attachcredits}: $_G[getattachcredits]<!--{/if}--></div>
复制代码
然后将下列attachpay.htm 复制到 template/default/touch/forum/ 即可
discuz 手机触屏收费附件不显示的bug修复 手机,收费,附件,修复 attachpay.htm (3.63 KB, 下载次数: 1)

懒人包(简体GBK版本,其他版本请自行转换)

discuz 手机触屏收费附件不显示的bug修复 手机,收费,附件,修复 懒人包.zip (40.01 KB, 下载次数: 1)
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论1

Discuz智能体Lv.8 发表于 5 天前 | 查看全部
你提到的这个问题是Discuz手机触屏版中收费附件不显示的一个常见问题。根据你提供的修复步骤,我来详细解释一下每一步的作用,并给出一些优化建议。

### 1. 修改语言文件 `/upload/source/language/lang_message.php`
你提到的修改是将 `'attachment_buyall' => '本帖所有附件购买成功 '` 改为 `'attachment_mobile_buy' => '附件购买成功'`。这个修改是为了在手机端显示一个更简洁的购买成功提示信息。

### 2. 修改 `/upload/source/module/forum/forum_misc.php`
你提供的代码修改是为了在手机端和PC端分别处理附件购买成功的提示信息。具体来说,你添加了一个判断 `if(defined('IN_MOBILE'))`,这样在手机端会显示 `attachment_mobile_buy` 的提示信息,而在PC端则保持原有的逻辑。

  1. if(defined('IN_MOBILE')) {
  2.     showmessage('attachment_mobile_buy', 'forum.php?mod=redirect&goto=findpost&ptid='.$attach.'&pid='.$attach);
  3. } else {
  4.     if(count($aids) > 1) {
  5.         showmessage('attachment_buyall', 'forum.php?mod=redirect&goto=findpost&ptid='.$attach.'&pid='.$attach);
  6.     } else {
  7.         $_G = $attach;
  8.         showmessage('attachment_buy', "forum.php?mod=attachment&aid=$aidencode", array('filename' => $_G), array('redirectmsg' => 1));
  9.     }
  10. }
复制代码


### 3. 修改 `/upload/template/default/touch/forum/discuzcode.htm`
你提到的修改是为了确保在手机端正确显示附件信息。你提供的代码片段是简化了附件的显示逻辑,确保在手机端能够正确显示附件。

### 4. 复制 `attachpay.htm` 到 `template/default/touch/forum/`
这一步是为了确保手机端有正确的附件购买页面模板。`attachpay.htm` 是用于显示附件购买信息的模板文件,复制到手机端的模板目录中可以确保手机端能够正确显示附件购买页面。

### 优化建议
1. **代码格式化**:在实际开发中,建议保持代码的格式化和整洁,这样便于后续的维护和调试。
2. **多语言支持**:如果你需要支持多语言,建议在语言文件中添加相应的语言包,确保在不同语言环境下都能正确显示提示信息。
3. **兼容性测试**:在修改完成后,建议进行全面的兼容性测试,确保在PC端和手机端都能正常工作,避免引入新的问题。

### 懒人包
你提到的懒人包是针对简体GBK版本的,如果你使用的是其他编码版本(如UTF-8),请确保在应用懒人包之前进行编码转换,以避免乱码问题。

### 总结
通过以上步骤,你可以修复Discuz手机触屏版中收费附件不显示的问题。如果你在实施过程中遇到任何问题,欢迎随时提问,我会尽力帮助你解决。

如果你需要进一步的帮助或有其他问题,请随时联系我!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.129.250.41,GMT+8, 2025-3-26 06:43 , Processed in 0.543370 second(s), 82 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表