Magento 1.9.2 自定义属性不工作

Magento 1.9.2 Custom Attribute Not Working

我到处搜索,不知为何找不到答案。我已经将我的第一个属性保存并在我的数据库中工作,但我的第二个属性将不起作用。我相信我的安装程序脚本没有被执行,这非常令人沮丧。这是我拥有的:

app/local/Name/Module/sql/name_module_setup/mysql4-upgrade-0.1.0-0.1.1.php

(请注意,我在 .../mysql4-install-0.1.0.php.../mysql4-install-0.1.1.php 中使用了相同的脚本以尝试不同的东西)

    <?php
require_once('app/Mage.php');

$installer = $this;
$installer->startSetup();
//$installer = new Mage_Sales_Model_Mysql4_Setup; //this line has been both commented and non-commented

$attribute  = array(
    'type'          => 'text',
    'backend_type'  => 'text',
    'frontend_input' => 'text',
    'is_user_defined' => false,
    'label'         => 'Custom ID',
    'visible'       => true,
    'required'      => false,
    'user_defined'  => false,
    'searchable'    => true,
    'filterable'    => true,
    'comparable'    => true,
    'default'       => 'Test'
);
$installer->addAttribute('order', 'custom_id', $attribute);

$attribute  = array(
    'type'          => 'int',
    'backend_type'  => 'int',
    'frontend_input' => 'int',
    'is_user_defined' => false,
    'label'         => 'Custom Number',
    'visible'       => true,
    'required'      => false,
    'user_defined'  => false,
    'searchable'    => true,
    'filterable'    => true,
    'comparable'    => true,
    'default'       => '0'
);
$installer->addAttribute('order', 'custom_number', $attribute);

error_log("The new custom number attribute is being made",0); //Never sent to error_log
$installer->endSetup();

...app/local/Name/Module/etc/config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Name_Module>
            <version>0.1.1</version><!--Tried 0.1.0 and 0.1.1-->
        </Name_Module>
    </modules>
    <global>
        <models>
            <name_module>
                <class>Name_Module_Model</class>
            </name_module>
        </models>
        ...
        <resources>
            <name_module_setup>
                <setup>
                    <module>Name_Module</module>
                    <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </name_module_setup>
            <module_write>
                <connection>
                    <use>core_write</use>
                </connection>
            </module_write>
            <module_read>
                <connection>
                    <use>core_read</use>
                </connection>
            </module_read>
        </resources>
        <fieldsets>
            <sales_convert_quote>
                <custom_id>
                    <to_order>*</to_order>
                </custom_id>
                <custom_number>
                    <to_order>*</to_order>
                </custom_number>
            </sales_convert_quote>
        </fieldsets>
    </global>
    ...
</config>

我觉得我已经尝试了一切...任何帮助都会很棒!提前致谢!

你可以试试下面的代码

<?php

$installer = $this;
$installer->startSetup();

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$setup->addAttribute('order', 'custom_id', array(
    'type'          => 'text',
    'backend_type'  => 'text',
    'frontend_input' => 'text',
    'is_user_defined' => false,
    'label'         => 'Custom ID',
    'visible'       => true,
    'required'      => false,
    'user_defined'  => false,
    'searchable'    => true,
    'filterable'    => true,
    'comparable'    => true,
    'default'       => 'Test'

));

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$setup->addAttribute('order', 'custom_number', array(
    'type'          => 'int',
    'backend_type'  => 'int',
    'frontend_input' => 'int',
    'is_user_defined' => false,
    'label'         => 'Custom Number',
    'visible'       => true,
    'required'      => false,
    'user_defined'  => false,
    'searchable'    => true,
    'filterable'    => true,
    'comparable'    => true,
    'default'       => '0'
));

$installer->endSetup();

尝试清除magento缓存并检查。

所以我终于弄明白了...出于某种原因,我不得不进入 phpmyadmin 并转到 core/resource 并删除包含您的模块的行,刷新缓存,然后重试。之后,安装程序脚本运行!希望这可以帮助别人!