【问题标题】:add new column to install script in magento CMS Page在 magento CMS 页面中添加新列以安装脚本
【发布时间】:2015-12-18 14:43:46
【问题描述】:

所以我已经到了模块的最后一点,我无法让它在 CMS_PAGE 表中添加一个新列,这真的很烦人。

这是我目前所拥有的:

/app/code/local/Damian/CMS/etc/config.xml

<?xml version="1.0"?>
<config>
     <modules>
        <damian_cms>
            <version>0.1.0</version>    <!-- Version of module -->
        </damian_cms>
    </modules>
    <global>

        <models>
            <damian_cms>
                <class>Damian_CMS_Model</class>
                <resourceModel>cms_mysql4</resourceModel>
            </damian_cms>
        </models>



        <events>
            <adminhtml_cms_page_edit_tab_content_prepare_form>
                <observers>
                    <damian_page_edit_tab_content>
                        <type>singleton</type>
                        <class>Damian_CMS_Model_Observer</class>
                        <method>cmsField</method>
                    </damian_page_edit_tab_content>
                </observers>
            </adminhtml_cms_page_edit_tab_content_prepare_form>


<cms_page_prepare_save>
    <observers>
        <damian_cms_save_page>
            <type>singleton</type>
            <class>Damian_CMS_Model_Observer</class>
            <method>savePage</method>
        </damian_cms_save_page>
    </observers>
</cms_page_prepare_save>
    </events>


       <resources>
                <damian_cms_setup>
                     <setup>
                    <module>damian_cms</module>
                    <class>Damian_CMS_Model_Resource_Setup</class>

                     </setup>
                    <connection>
        <use>core_setup</use>
        </connection>
                </damian_cms_setup>
<cms_write> <!-- It gives the write permission to db -->
            <connection>
                <use>core_write</use>
            </connection>
        </cms_write>
        <cms_read> <!-- It gives the read permission from db -->
            <connection>
                <use>core_read</use>
            </connection>
        </cms_read>
        </resources> 

    </global>
</config>

/app/code/local/Damian/CMS/Model/Resource/Setup.php

<?php
class Damian_CMS_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup {
}

/app/code/local/Damian/CMS/sql/cms_setup/mysql-install-0.1.0.php

<?php


$installer = $this;
/* @var $installer Mage_Core_Model_Resource_Setup */

echo 'Running This Upgrade:';
die("Exit for now");



$installer->startSetup();

$tableName = $installer->getTable('cms_page');
$installer->getConnection()->addColumn($tableName, 'cms_sitemap', array(
    'nullable' => true,
    'length' => 255,
    'default' => 1,
    'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
    'comment' => 'added from extension Damian CMS'
));



$installer->endSetup();

我没有添加其余的,因为这一切似乎都可以工作,但我需要这个安装脚本才能工作,这样我才能在实时服务器上将它投入生产,这是本地的,我可以访问我自己的 MYSQL 数据库,但是在实时服务器上,我无法访问 MYSQL 数据库,所以我必须让这个脚本工作。

感谢您的帮助:)

【问题讨论】:

  • 有人吗?我需要添加更多信息吗?

标签: mysql xml magento-1.9


【解决方案1】:

好的,所以我开始工作了!

我必须更改模块的名称以匹配我所拥有的这个

 <modules>
    <Damian_CmsUpdate> <!-- Name had to change to match folder name -->
        <version>0.1</version>   
    </Damian_CmsUpdate>
</modules>

然后必须将 config.xml 中的设置更新为此

<! -.....- >
                     <setup>
                        <module>Damian_CmsUpdate</module>
                        <class>Damian_CmsUpdate_Model_Resource_Mysql4_Setup</class>
                     </setup>
<! -......- >

【讨论】:

    猜你喜欢
    • 2012-04-22
    • 2012-09-11
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多