Day: June 17, 2010

  • Best place to put module installation scripts in Magento

    Magento module 中,在哪里放置安装脚本比较好?

    当然,把它放在 sql/$resourceName 目录下 $resModel.’-‘.$actionType.’-(.*)\.(sql|php) 文件里是不错的。安装脚本通常是修改数据库结构,所以放在.sql文件理所当然。但如果安装脚本跟数据库无关,放在.sql略显勉强,为此,我找了一个更好的地方。

    首先在 config.xml 声明一个 setup 类:

    
    <config>
    
    <resources>
    <mymodule_setup>
    <setup>
    <module>Mynamespace_Mymodule</module>
    <class>Mynamespace_Mymodule_Model_Setup</class>
    </setup>
    </mymodule_setup>
    </resources>
    </config>
    
    

    这个类只要 extends Mage_Core_Model_Abstract,不一定得 extends Mage_Core_Model_Resource_Setup。

    然后在该类里放置 applyUpdates() 方法,把安装脚本都写到这个方法里就可以了。模块在安装时就是执行这个方法,而且是在 .sql 执行之前。

  • Dabs bundle irrelevant products together

    I am searching for a high resolution LCD/LED monitor. So when dabs send me an eshot promoting Samsung 23″ Wide SM2333SW 5ms DVI TFT Gloss Black, I open it up.

    I am very excited to see “Get A 2m HDMI Cable FREE! Use Bundle Option 1!” on the product page. It makes me think Samsung SM2333SW support HDMI, and stimulates me to buy it. Then suddenly I am very disappointed after reading its specifications:

    Signal Input
    DVI-D, VGA

    Where is HDMI? No, there isn’t one. Why bundle HDMI cable with a monitor does not support HDMI? Who knows!