在magento模块中设置安装程序脚本

时间:2014-05-21 04:54:02

标签: sql magento module installer installation

嗨,我正在开发一个小的magento模块。

下面是我的模块目录结构

app/code/local/Xyz/Total
/var/www/magext/app/code/local/Xyz/Total/Block/Prototal.php
/var/www/magext/app/code/local/Xyz/Total/controllers/IndexController.php
/var/www/magext/app/code/local/Xyz/Total/etc/config.xml
/var/www/magext/app/code/local/Xyz/Total/Model/Price/Observer.php

下面是我的配置文件代码

<?xml version="1.0"?>
<config>
  <global>
      <blocks>
         <total>
              <class>Xyz_Total_Block</class>
         </total>
      </blocks>   


    <models>
        <xyztotal>
             <class>Xyz_Total_Model</class>
        </xyztotal>
    </models>
    <events>
      <sales_order_place_after>
        <observers>
          <xyz_total_price_observer>
            <type>singleton</type>
            <class>Xyz_Total_Model_Price_Observer</class>
            <method>apply_discount_percent</method>
          </xyz_total_price_observer>
        </observers>
      </sales_order_place_after>     
    </events>
  </global>
 <frontend>
   <routers>
      <total>
          <use>standard</use>
          <args>
             <module>Xyz_Total</module>
             <frontName>newcatalog</frontName>
          </args>
       </total>
   </routers>
    <layout>
        <updates>
            <total>
                 <file>total.xml</file>
             </total>
        </updates>
    </layout>

</frontend>
</config>
  

现在需要通过我的模块安装产品属性

     

。但是我无法理解我应该把安装程序放在哪里   脚本以及如何修改配置文件。

请建议。

3 个答案:

答案 0 :(得分:0)

我看到你的config.xml我无法找到xml vesrion。 所以你需要给出xml版本,如下例所示:

<config>
    <modules>
        <Xyz_Total>
            <version>0.1.0</version>    <!-- Version of module -->
        </Xyz_Total>
    </modules>
</config>

现在创建文件app / code / local / Xyz / Total / sql / total_setup / mysql4-install-0.1.0.ph p 之后重新安装模块并检查它。

答案 1 :(得分:0)

您还必须在config.xml下的config.xml中添加以下代码。

<global>
    <resources>  <!-- These are resource setting giving access to module, read/write permission on database -->
        <total_setup>
            <setup>
                <module>Xyz_Total</module>
            </setup>
            <connection>
                <use>core_setup</use>
            </connection>
        </total_setup>
        <total_write>
            <connection>
                <use>core_write</use>
            </connection>
        </total_write>
        <total_read>
            <connection>
                <use>core_read</use>
            </connection>
        </total_read>
    </resources>
</global>

之后重新安装模块。

答案 2 :(得分:0)

看看@ Adding custom product attributes in Magento using setup script

<modules>
    <Xyz_Total>
        <version>0.1.0</version>
    </Xyz_Total>
</modules>
<global>
  ....   
  <models>
    <xyztotal>
         <class>Xyz_Total_Model</class>
         <resourceModel>total_setup</resourceModel>
    </xyztotal>
  </models>
  <resources>
     <catalog_setup>
        <setup>
           <module>Mage_Catalog</module>
           <class>Mage_Catalog_Model_Resource_Setup</class><!-- that line !-->
        </setup>
     </catalog_setup>
  </resources>
...

  

应用程序/代码/本地/ XYZ /合计/ SQL / total_setup / mysql4-install-0.1.0.ph P

$installer->addAttribute('catalog_product', 'offer_type', array(
        'backend'       => '',
        ...
));