ECStore二次开发日记之13.仿天猫商城多规格(SKU)可以取消,无库存限制选择功能

虫神曰:
最近CEO特别烦躁,就是因为ECSTORE这个系统呀,没办法跟天猫一样,选择的商品没办法取消,因为我们的商品均都是低库存的,也就是有的抢手型号的库存量会很少,那么自然就是很快卖完,要是没有及时下架怎么办?客户会选择到,然后……
其实嘛,我觉得这个不是大问题,不过他们的感觉不是很友好,非要做成跟天猫一样的效果,可以取消选择,可以重新选择……
好吧~拿钱消灾,那就努力处理这个问题吧。下面就是解决方案,浪费我十天的时间。

ShopEX二次开发DIY日记17之会员登录的来源转向编码加密串的获取

今天,刚开发完Mootools版本的ShopEX4.85转盘游戏之水果机抽奖游戏插件之后,发现界面上面有一个提示,需要登录才能抽奖,那么到底是让客户自己点击顶部的登录或者注册链接还是提示之后直接转向到登录的界面?

如果直接转向登录界面的话,怎么保证登录之后自动转向到游戏的界面继续抽奖游戏呢?

Theme Photolux : A TimThumb error has occured

漂亮吧,不过最近安装在phpcloud的免费空间上却是让我很烦恼,这个主题安装上去却显示不正确表现为前台显示图片都是一个叉叉,图片显示不正常,老是显示下面的错误?!
A TimThumb error has occured
The following error(s) occured:
Could not find the internal image you specified.
Query String : src=http://cmsdemo2014.my.phpcloud.com/wp-content/uploads/2014/03/dd6463e4958eaaa84b44f199333d0f8d.jpg&h=&w=290&zc=1&q=100&a=c
TimThumb version : 2.8.11
好神奇!
😛 知识点延伸:
可能你会觉得奇怪为什么你只看到图片显示不正常,没有看到这个错误哈 😛 ,这个其实是正常的,因为这个错误是我直接访问图片文件链接而产生的错误。
具体操作如下:
我们知道图片显示是根据标签的src属性来显示图片的,那么图片显示不出来就是src这个图片源出现问题(图片源可以是一个图片文件的路径也可以是图片的代码噢),既然这个src是图片源。那么自然就能直接打开,所以我的打叉的图片的src是:
http://cmsdemo2014.my.phpcloud.com/wp-content/themes/photolux/lib/utils/timthumb.php?src=http://cmsdemo2014.my.phpcloud.com/wp-content/uploads/2014/03/安卓壁纸_动漫66c143d81e.jpg&h=&w=290&zc=1&q=100&a=c
我直接从浏览器中打开,就会出现上面的提示了。另外,有很多朋友经常性的会遇上系统的验证码显示不正常的问题,然后不知道怎么解决,其实跟这个原理是一样的,先直接打开链接看看是否正常,然后再进入相关的文件内去找有问题的地方,然后不断的重试,直到图片正常显示出来,那么再调用的地方一定就是正常的了。
如果是ShopEX/ShopNC商城系统出现验证码的问题那么请查阅本博客的另外相关的文章:
ShopEX-登陆时验证码显示错误造成不能登陆
PHP-Unicode签名(BOM)影响缓存输出实例
PHP-噢~&#65279(BOM文件头)你这个坏蛋
言归正传,既然知道是这个文件显示错误的话,那么当然就是直接找到这个文件来查看为什么出现这种错误了。
找到wp-content\theme\photolux\lib\utils\timthumb.php文件,然后一步步的跟踪下去,我发现,程序不工作是因为找不到正确的文件路径造成的,知道原因了那就直接修改一下即可(轻描淡写的说出这个原因,实际背后是我一个个代码隐藏,一个个试过去才知道造成问题的所在噢):

ShopEX-主页除页头页尾之外系统内容区域空白的解决方案

昨天,同事修改了一下商城的广告,然后首页就再也不能显示出内容了,表现的情况是:页头,页尾的内容正常显示,但是中间的内容部分却一点也不显示。
但是,其他页面的内容却是正常的,也就是只有主页的内容是错误的。
看到这个现象第一个感觉就是page控制器出现问题了,因为ShopEX的主页其实就是一个单页面,然后点开其他的单页面发现都是正常显示。
经过排查,让同事小王同学发现了问题所在了,在调用模板输出的时候,主页不知道为啥,调用错误的模板文件!
SQL:select template_name from sdb_template_relation where source_id=”PAGE:index” and template_type =”page”
正常的时候这个执行应该是获取正确的页面模板才对,结果,这个指向模板包内的一个空文件内(其实该模板文件是以前设置的单页模板,暂时里面只有{main}标签)。结果~自然就是没内容了。

ShopEX-开启Discuz6第三方整合出现已注册却提示验证码错误的问题

最近在研究ShopEX的第三方整合的时候发现,开启整合之后注册会出现问题,明明已经注册成功了,但是却提示验证码错误,然后退回注册界面,结果新注册的账户却已经登录了!
好神奇,这个问题一开始我想复杂了,一个个的跟踪过去发现时系统先调用第三方的支持文件来注册然后又调用本身的注册方法,然后就会发现注册成功,但是原版的注册方法却找不到验证码的值了,因为转了一圈回来值就没了!

什么是程序的二次开发?为什么要做二次开发?

引言
二次开发,摘抄百度百科的说明如下:原文请点击查阅
二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能,一般来说都不会改变原有系统的内核。一般的来说,一些大公司如IBM开发了一个大型的软件系统平台,根据不同的客户的需要,一些其它的中小公司为客户根据需求在该平台上进行第二次有针对性的开发。是否提供相应的接口,有的软件公司只提供软件,但也有小公司连代码一起出售,如是后者,就更方便进行二次开发。比如售票系统,车站里面弄好了,提供几个储存过程给银行,银行就可以代理售票了,这也是一种,还有一种如我们利用delphi,C#等操作word等。
正文
我们在使用ECShop、ShopEX、ZenCart、ShopNC、DEDE(织梦)、destoon、ASPcms、Discuz等系统的时候经常会接触除了模板、插件、皮肤、样式之外的一个新名词:二次开发。那么什么叫做二次开发呢?请看引言部分对这个名词的解释。
摘抄一向不是我的风格,所以,这边要唠叨一下我自己对二次开发的见解。
话说自从有了软件工程之后,我们人为的将程序开发分了好几个阶段什么调研阶段,分析阶段,什么编码阶段,虾米维护阶段,这些的概念请看相关的文章,我这边就解释了。
软件从开发的时候到发布这个过程,如果非要弄一个名词来说明的话只能叫做“一次开发”,当然,这个其实也不是很准确,不过也不要紧,你明白就好。不明白的话,就全当作是程序是谁开发的,那么他做的开发就是一次开发。
如果对程序有点了解的人,肯定会问,那么我开发完一个程序,然后在这个基础上再增加一个功能叫做什么呢?
哈,这个增加一个功能的行为就是“二次开发”了!
所以,我觉得“二次开发”其实就是根据我们的需求在已经存在的程序基础之上做开发这一过程成为二次开发。所以不管你是用什么程序,只要你是根据自己的需求对已经存在的程序做了开发都算二次开发。
所以,
模仿设计网站算不算?算!
为ShopEX,ECShop,ShopNC,ZenCart等程序做模板算不算?算!开发插件算不算?算!
……
你可以自己找很多的例子,万变不离其宗呀,这些都是二次开发。只要你是对已经存在的程序做修改都叫做二次开发。

ShopEX二次开发DIY日记15之会员下订单会有手机邮箱提醒,怎么改为同时通知站长管理员

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

今天,逛一下群发现有人想要下面的修改:shopex会员下订单会邮件提醒会员,现在我想全部改成邮件通知管理员,在哪里把变量改成管理员邮箱。这个想法很好,因为之前也有客户有类似的需求,不过他的需求是系统有新订单时可以自动发邮件通知他。
小故事:
记得当时我问他为什么不直接短信通知他呢?他回答我说,网站发短信需要钱,发邮件不用,而且发送到的邮箱是139邮箱,而移动的邮箱收到邮件通常都会发短信通知你收到邮件了。
超赞的省钱攻略~~
那么今天DIY日记的目的就是打造这么一个系统:会员下订单会有手机邮箱提醒,怎么改为同时通知站长管理员。
我们先来说说这个DIY的前提吧:
ShopEX相应版本的源码
懂一点点的PHP基础
懂得PHP的调试技能
其他编程相关经验
上面的要求随便说说啦,不具备的,那就请不要往下看了~~不会要求你一定要懂,但是可以要求你不要看我的文章。
研究过程啐啐念
打开\core\model\trading\mdl.order.php或者\core_v5\model\trading\mdl.order.php然后找到
$this->fireEvent(‘create’,$data,$data[‘member_id’]); //订单生成成功事件