你在这里


Ubercart

Drupal 7 Ubercart在MySQL 5.6中需要使用InnoDB引擎

James Qi 2015年7月10日 - 09:50 发布

  以前使用的MySQL存储引擎考虑到用多块硬盘放置各个库以便分散负载都是固定为MyISAM,现在搬迁到阿里云RDS后,考虑到查询效率及空间大小也保持继续用MyISAM。不过今天同事发现一个销售数据的网站在购物车结算的时候报错:

PDOException: SQLSTATE[HY000]: General error: 1785 When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions,

  在网上搜索了一下,说是不支持事务的问题,奇怪了以前在MySQL 5.1用MyISAM却是好的,也许是MySQL升级到5.6之后的问题吧。我对数据库的所有表进行了批量转换为InnoDB后,报错就消失了。好在销售网站的数据量不大、访问量也小,转换后对于RDS容量和速度都不会有影响。

Drupal Ubercart文件数量增加后速度很慢的问题及解决

James Qi 2013年12月5日 - 18:08 发布

  同事反映在用Drupal Ubercart搭建的网站中添加产品时速度非常慢的问题,产品页面可以编辑,但在添加关联下载文件的时候就需要长时间等待甚至超时报错,先以为是服务器性能或者MySQL的问题,折腾了两天都没有多大效果,今天把排错神器devel安装上,很快就发现是该页面需要运行8000多次数据库查询,而我们现在大约有4000个产品关联文件,也就是该页面需要循环4000次、每次2个数据库查询。

  网上搜索了很久(用ubercart feather file slow等关键词都找不到准确的,后来用devel发现的重复MySQL查询名称查到的),终于找到与我们的情况基本一致的_uc_file_gather_files needs to be fixed (or needs config),该文给出了一个补丁解决办法,我们参照修改后,很快就解决了。

  开源的系统有好处、有坏处,关键要能修改程序才能按自己的要求来用好。

自由标签:

为Drupal 7的Ubercart 3产品批量添加Attributes

James Qi 2012年12月28日 - 23:56 发布

  在用Drupal 7搭建Business Profile Report这个网站的过程中,遇到一个产品有多种不同License对应不同价格的情况,可以用Ubercart 3中的Attributes功能来实现。在modules中打开Ubercart的Attributes这个子模块,然后在Attributes中添加一个叫License的属性,并设置默认的Options选项。再在具体的页面中为Attributes选择License属性,并根据需要来设置Options和调整不同的SKU编码。

  单个页面都可以像上面只有编辑,但我们已经有了数以十万记的产品页面,不可能逐一编辑,只有设法批量来修改。我把已经修改和未修改的产品页面的$node读出并对比,按照已经修改过的数据来设置未修改的数据,保存后却并没有得到预期的效果,估计是我对于PHP数组及对象的了解还不够,也没有找到Ubercart中合适的函数API调用。

详细记录在Drupal的Ubercart中设置接受支付宝AliPay付款

James Qi 2011年8月17日 - 11:32 发布

 

 

  在用Drupal系统的Ubercart搭建网上销售平台"Business Directory Sale Center"这个英文网站后,我们又开始搭建一个中文的“名录数据购买中心”,因为是面向中国客户,所以就选用了国内用户量最大的网上支付方式-支付宝(AliPay)。

详细记录在Drupal的Ubercart中设置接受PayPal付款

James Qi 2011年8月17日 - 10:42 发布

  6月份开始用Drupal系统的Ubercart搭建网上销售平台"Business Directory Sale Center",当时就觉得有两个难点需要克服:一个是自动支付、一个是自助下载。

  自助下载的比较容易解决,就是Ubercart中设置商品的时候可以添加Feature,只要附加上可以下载的文件就OK了,购买了该商品的用户当时就可以看到下载链接、自行下载。剩下就是支付的问题。

  Ubercart的支付功能支持很多种支付方式,例如:2Checkout, alipay, Authorize.net, Credit Card, CyberSource, Google Checkout, Payment Method Pack, PayPal等,我们在英文销售网站中只设置了PayPal这种最流行的方式,本来准备还加上支付宝Alipay的,但实际测试中发现标价1美元通过支付宝就成了1人民币元,没有货币转换的机制,就去掉了。

  而PayPal在Ubercart中可以设置两种:

自由标签:

尝试用Drupal的Ubercart搭建网上销售虚拟物品平台

James Qi 2011年6月17日 - 17:00 发布

  去年我们做的名录集网站初期只是纯内容展示,依靠发布广告获得收入,后来增加了数据直接销售的业务,最近几个月也增长势头不错。不过以前的"名录集销售中心"网站只是一个产品展示网站,虽然有支付宝支付接口,但整个流程还是需要人工操作,由客服人员接受咨询,收款后再发电子邮件给客户。

  为了适应以后的发展,同事提议做成一个真正的电子商务网站,客户可以自行浏览、下订单、付款并自助下载所购数据,这当然是一个很好的建议,这其实就是做一个虚拟物品的销售平台,便于增加大量低价细分产品、符合国外客户和部分国内客户的购买习惯。

自由标签:

订阅 RSS - Ubercart