ShopEX二次开发DIY日记7之开启了伪静态之后登陆注册的弹窗冲突不能弹出

虫曰:

二次开发DIY日记》系列由ChinaBUG企划,根据开发过程中客户需求做的修改而延伸出来的开发要点,将有很多的需求点可能在实际应用中并不会需要到,在本系列之中我们将会有所考虑的给予分析解答,主要目的只为了更好的说明如何根据不同的需求点来DIY我们的程序。

话说,最近一个客户比较倒霉吧~用的虚拟主机比较差,技术人员不给力呀~安装的伪静态重写插件有问题吧,结果,其他都很正常,就是登陆、注册所在的链接点击之后会出现问题,比如显示莫名其妙的界面,比如打开时空白页,总的说来是弹不出正常的对话框的。

怎么办?

遇上这种问题,第一的想法就是关闭伪静态看看可不可以正常工作,具体操作如下:“营销推广》搜索引擎优化》SEO设置》其他设置》商店页面启用伪静态URL”设置为否,保存即可。

设置完毕之后我们重新测试时会发现,神奇的弹窗又可以使用了!

这边对应两个情况做处理:一个是正常的人比较偷懒安装完伪静态插件之后就不继续设置了;一个是就算你设置了伪静态组件之后,还是不能正常使用。

1、伪静态组件没有设置

默认的伪静态设置组件文件夹内有一个.htaccess文件,然后客户服务器内的.htaccess文件内的规则内容一点点,虽然可以正常运行,但是,估计不是ShopEX的规则噢,所以,果断的复制ShopEX根目录内的root.htaccess的内容到伪静态目录内的.htaccess文件内,保存,重启服务器(伪静态组件我不懂,所以,不知道要不要重启才能起作用,就重启吧,没影响)。

正常情况这样子操作就可以正常运行了噢。

2、修改完规则还是不能弹出注册、登陆弹窗

第一次客户的服务器出现第一次的情况给解决了,可是,就在昨天(2013.11.05)客户给换了一台服务器,好吧,老毛病了,怎么处理,按照第一种情况处理一下吧(倒霉催的,在重启过程中还出现一些小状况,服务器死活远程登陆不了了)。

设置完伪静态组件之后发现问题照旧,哎,重装伪静态组件吧,估计很麻烦,我不了解这个玩意,那只好手动修改了。

我们已经分析出不能弹出弹窗的原因是因为伪静态的关系,那么就很简单了,让这些有问题的伪静态链接失去伪静态效果呗,那问题不是解决了嘛~按照这个思路,请分别打开下面的相关文件修改吧。

  1. 弹窗注册视图文件:core\shop\view\passport\index\signup_fast.html
  2. 弹窗登陆视图文件:core\shop\view\passport\index\login_fast.html
  3. 购物车内的去结算:core\shop\view\common\footer.html

修改的内容是:

将里面涉及到<{link ctl=’passport’ act=’signup’}>这样的内容修改为/?passport-signup.html;

将里面涉及到<{link ctl=’passport’ act=’login’}>这样的内容修改为/?passport-login.html;

将里面涉及到<{link ctl=”cart” act=”loginBuy”}>这样的内容修改为/?passport-login.html或者/?passport-signup.html或者/?cart-loginBuy.html(这边之所以三个都可以是因为看你自己的具体需求来定);

PS:当然你也可以不按照上面的来修改,可以修改为<{link ctl=’?passport’ act=’signup’}>这样的形式,也就是说在ctl的值前面增加一个问号也是可以自动生成链接的。

保存,浏览,你会发现,问题得到解决了~不过这样子的硬编码的话,比较不够完美啦,不过解决问题就好~

PS:当然,其实你也可以只修改core\shop\view\common\footer.html内的Javascript代码了,只要你熟悉这个脚本,这个是最简单的噢。脚本版的就等待有志之士来完成,有成果希望分享与我噢。