OpenCart - 中文论坛

标题: 免费版实用优化补丁! [打印本页]

作者: gaohelong    时间: 2020-9-10 11:06
标题: 免费版实用优化补丁!
本帖最后由 gaohelong 于 2020-12-11 19:55 编辑



嗯 …… 以下,绝大部分css代码是从专业版演示页面扒过来的,此处仅为适用于免费版…… 做个总结和整理,希望免费版能真正有助于大众,越做越好吧
*********************
要实现此处演示站的效果,无非调试这几点就可以了。
1.PC端导航下拉时置顶浮动。
2.产品页面调成适用手机的效果。
3.结账页默认城市区域默认支付方式免选择(最初我就是朝着“同城网上摆摊”这个方向调的 …… 各处城管又不让摆摊了 …… 可怜众多小商小贩啊)
4.默认先提交订单再付款
5.评论改咨询,tags改卖点
……等等其它
*******

好了,具体修改代码如下:

1.PC端导航下拉时置顶浮动。
修改文件:catalog\view\theme\default\template\common\header.twig
  1. <script>
  2.     window.onscroll = function(){
  3.     var scrollT = document.documentElement.scrollTop||document.body.scrollTop;
  4.     var scrollH = document.documentElement.scrollHeight||document.body.scrollHeight;
  5.     var clientH = document.documentElement.clientHeight||document.body.clientHeight;
  6.     var clientW = document.documentElement.clientWidth||document.body.clientWidth;
  7.    
  8.     if(scrollT>200){
  9.         document.getElementById('menu').classList.add('fixed');
  10.     }else {
  11.         document.getElementById('menu').classList.remove('fixed');
  12.     }
  13.    
  14.     if (clientW<768 && scrollT>50) {
  15.         document.getElementById('product-nav-tab').classList.add('fixed');
  16.     }else {
  17.         document.getElementById('product-nav-tab').classList.remove('fixed');
  18.     }   
  19. }
  20. </script>
复制代码

此处的 product-nav-tab(是手机端产品页置顶用的,……,我又不会更高级的写法,各处该用的功能能用就行了呗,)

2.产品页面调成适用手机的效果。
此处修改的文件:catalog\view\theme\default\template\product\product.twig
主要是扒了专业版演示站的效果代码,外加了一些适用免费版的样式,在同一个文件里做了手机端和电脑端自适合,所以 …… 就这样了(直接上附件吧,改的代码挺多的,解释起来挺啰嗦的,自己扒吧 )
v37免费版二次优化.zip (330.62 KB, 下载次数: 171) (此补丁仅适用 3.7.0.0 免费版)

3.结账页,同城,默认区域,默认支付方式免选择
此处发现官方3.7.0.0版一个bug(游客多次进入结账页会失去默认支付方式的选择),花了好几天才测试出来修改哪里能解决这个BUG
catalog\controller\checkout\checkout.php  115行左右
  1.         if (!$this->customer->isLogged()) {
  2.             $data['guest_address_section'] = $this->renderGuestAddressSection();
  3.                                     $this->fakeGuestAddressSession('shipping');   //加入这两行
  4.                         $this->fakeGuestAddressSession('payment');   //游客多次进入结账页,默认支付方式就不会丢失了
  5.         }
复制代码


默认区域是改 js 代码里的 cityId 和 countyId 配合后台默认城市,即可实现同城默认区域的免选择,(像此处演示站一样,连支付方式都没有,直接可以 hidden,这样就跟你在逛街时看到路边摊的东西,直接扫码的效果一样方便了。)
……
还有很多其它修改的地方,感兴趣的玩家就直接动手自己扒吧,(反正附件里包含了相关代码了)剩下的自己折腾吧。
*****
咚咚咚 (三声锣鼓后)当然是,有钱的捧个钱场,没钱的捧个人场,各位随便打赏。(无心谢过)

  




作者: sunboy    时间: 2020-9-10 13:45
还不错,继续加油!!!
作者: wenpeng688    时间: 2020-9-23 21:56
为什么我复制product模版里的脚本过去之后就打不开已经上传好的产品页了?全是空白的。
作者: benjamin    时间: 2020-9-28 20:50
好像少js吧,debug3处警告。
然后就是手机版底部菜单有遮挡,原底部内容margin-down需要相应增加相应的尺寸。
作者: gaohelong    时间: 2020-9-29 08:37
本帖最后由 gaohelong 于 2020-9-29 08:50 编辑
wenpeng688 发表于 2020-9-23 21:56
为什么我复制product模版里的脚本过去之后就打不开已经上传好的产品页了?全是空白的。 ...


??? 测试可以直接复制使用的啊,(只不过要连同 header.twig 一起复制罢了。)




欢迎光临 OpenCart - 中文论坛 (https://bbs.opencart.cn/) Powered by Discuz! X3.2