高度PHP

php8848 技术博客

Archive for the ‘Magento’ Category

二月 14th, 2012

Magento:自己做的Magento支付插件,Chinesepay 包含支付宝,财付通(免费)

No Comments, Magento, PHP, 下载区, 技术天空, by admin, 30 views.

看Magento也有一段时间了,自己做了一个Magento的支付插件, Chinesepay,这个插件包含了支付宝与财付通支付接口,并且通过财付通提供的网银直连功能实现了网上银行直接付款。目前官方网站正在审核中,先在这里做一下推广。 官方网站地址: www.magentocommerce.com/magento-connect/chinesepay-7511.html 下载地址:http://www.kuaipan.cn/file/id_7530666807795385.html 原来还做了一个单独的支付宝的,因为有人已经做过了,所以也没怎么关注,感觉财付通的支付插件都没怎么有做的,可能跟不是很流行有关系吧。 这个官网审核已经通过了,可以直接通过 connect来使用 地址:http://www.magentocommerce.com/magento-connect/lilysoft-alipay-8341.html http://connect20.magentocommerce.com/community/lilysoft_alipay 希望大家能够用上,我看到有很多支付插件买的挺贵,200多一个支付宝插件,我觉得没有那么难,所以就自己做了,我也没买过付费的插件,可能是我做的还比较菜吧,不管怎样,欢迎点评。

二月 2nd, 2012

Magento 翻译文件时对于单引号和双引号的处理

No Comments, Magento, PHP, 技术天空, by admin, 4 views.

在做Magento的语言包的时候,遇到单引号的双引号时需要作如下处理 字符串中存在单引号的情况, 在php代码中 使用 单引号来包裹字符串,就要使用反斜杠的转义字符 例如 <?php echo $this->__(‘TenPay is Tencent\’s third-party payment platform.’)?> 而在翻译文件中,使用双引号来包裹字符串,就要去掉这个反斜杠 “TenPay is Tencent’s third-party payment…

二月 2nd, 2012

magento获得attribute的各个字段值的方法。

No Comments, Magento, PHP, 技术天空, by admin, 2 views.

在做 magento插件 imageswitch的时候,发现,attribute规定的不同的store view的label值无法显示,以color为例,我们attribute 中设定 default store view  的 label value 为 颜色,但是我们在前台看到的依然是 color, 经过检查,我认为这应该是magento的一个编码错误。同时附上attribut所有字段的读取方式。 attribute是附属于product,因此有些属性必须通过  product来获取  attribute $attribute 为属性对象。 ‘id’ => $attribute->getId(),…

二月 2nd, 2012

Magento core config data的使用

No Comments, Magento, PHP, 技术天空, by admin, 1 views.

在开发模块的时候,往往需要在后台创建一些用户可配置的数据,利用这些数据,用户可以在后台对我们的模块进行一些自定义的配置,这些配置的表单是在 system.xml中定义的,数据是存储在 数据库表 core_config_data中的,而默认值是存放在config.xml中的default节点中的,需要注意的是,数据访问的路径取决于 在  system.xml中定义的 section/group/field 的名称,而不是取决于  config.xml中的默认值的路径,以前的理解有错误。

二月 2nd, 2012

在block类中重新指定 template的方法

No Comments, Magento, PHP, 技术天空, by admin, 1 views.

在block的类函数里面有 setTemplate(),可以指定该block要加载 template文件,前提是 该block的声明里面没有规定 template的值,如果规定了 template的值的话,你会发现在 构造函数中调用 setTemplate设置的 模板文件是不起作用的。原因是 layout 规定的 template的加载 在 block类的构造函数之后,即使指定了,也会被原来的值冲掉,解决方法只有一个,就是在最后调用 setTemplate ,最后是在 _toHtml()中加入 setTemplate就可以了,具体的写法,在 block类中重写  _toHtml()函数 protected…

二月 2nd, 2012

magento layout中 update handle 的用法

No Comments, Magento, PHP, 技术天空, by admin, 2 views.

今天在处理”My account layout”时发现”update handle”这样的标签 后来查阅资料后,才知道 原来magento可以通过这样的layout设置机制来做相同设置处理 相同处理设置: <customer_account translate=”label”> <label>Customer My Account (All Pages)</label> <remove name=”catalog.leftnav”></remove> <remove name=”index.right.specail.offer”></remove> <remove name=”catalog.compare.sidebar”></remove>…

二月 2nd, 2012

关于collection对象的使用细节。

No Comments, Magento, PHP, 技术天空, by admin, 1 views.

Magento的collection对象十分方便,我们只需要在 model_mysql4中的collection类中添加不同的过滤器就可以随意的组合这些过滤器从而得到自己需要的数据集合。在使用的过程中,我发现不同的使用方式会导致不同的结果。 举例来说:我们有一个 log 的 collection集合,该集合有2个过滤器,addBookFileter()和addCustomerFilter()过滤器,假设我们首先使用addCustomerFilter(),我们想取出过滤之后的结果。 $logCollection = Mage::getSingleton(‘library/log’)->getCollection(); $logCollection = $logCollection->addCustomerFilter($customer->getId()); 同时我们想取得目前集合的数量以及遍历一下集合 如果我们使用 count ($logCollection),foreach($logCollection as $item),等一类函数,可以取到我们想要的值 但是再为我们的 $logCollection添加一个过滤器  addBookFileter()的时候,有些时候我们无法得到两个过滤器执行之后的值。经过测试我发…