1

カスタム Magento モジュールをアップグレードしようとしましたが、何らかの理由で機能しません。

私のモジュール構成:

<?xml version="1.0"?>
<config>
    <modules>
        <MVE_CategoryAttribute>
            <version>0.1.1</version>
        </MVE_CategoryAttribute>
    </modules>
    <global>
            <resources>
                <categoryattribute_setup>
                  <setup>
                    <module>MVE_CategoryAttribute</module>
                    <class>Mage_Eav_Model_Entity_Setup</class>
                  </setup>
                  <connection>
                    <use>default_setup</use>
                  </connection>
                </categoryattribute_setup>
            </resources>
    </global>
</config>

インストール スクリプト (mysql4-install-0.1.0.php):

<?php

$this->startSetup();

$this->addAttribute('catalog_category', 'imagetext', array(
    'group'         => 'General Information',
    'input'         => 'textarea',
    'type'          => 'varchar',
    'label'         => 'Tekst op afbeelding',
    'backend'       => '',
    'visible'       => 1,
    'required'      => 0,
    'user_defined' => 1,
    'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
));

$this->endSetup();

?>

アップグレード スクリプト (mysql4-upgrade-0.1.0-0.1.1.php):

<?php   
$this->startSetup();     
$this->updateAttribute('catalog_category', 'imagetext', 'global', Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE);  
$this->endSetup();  
?>
4

3 に答える 3

6

モジュールのcore_resourceのバージョン番号を確認してください。それでも0.1.0の場合は、xmlキャッシュをクリアしてページを再起動すると、実行されるはずです。すでに0.1.1であり、データベースの変更が適用されていないことがわかっている場合は、値を0.1.0に戻し、xmlキャッシュをクリアして、ページを更新します。

于 2013-02-13T12:34:39.073 に答える
2

これを試して:

<?php
$installer = $this;
$installer->startSetup();
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$setup->updateAttribute('catalog_category', 'imagetext', 'is_global', Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE);
$installer->endSetup();
于 2013-03-11T01:30:20.397 に答える
1

3 つの条件が満たされていることを確認します。

  1. モジュールのバージョン番号。core_resource テーブルに存在しません。
  2. バージョン番号があります。モジュールの etc/config.xml ファイルで定義されています。
  3. yourmodule_setup のタグ名を使用して、モジュールのセットアップ/アップグレード用のグローバル リソースを定義しました。
于 2013-10-02T09:44:32.430 に答える