2016-06-20 54 views
2

我到處搜索並找不到答案。我有我的第一個屬性保存並在我的數據庫中工作,但我的第二個屬性不起作用。我相信我的安裝腳本沒有被執行,這令人難以置信的令人沮喪。以下是我有:Magento 1.9.2自定義屬性不起作用

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(); 

...應用程序/本地/姓名/模塊/ 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> 

我覺得我已經嘗試了一切...任何幫助將是太棒了!提前致謝!

+0

嗨Swapna, 請使用代碼'ini_set('display_errors',0);' 打開顯示錯誤,執行代碼並共享錯誤消息。 謝謝, Shivanand。 – Shivanand

+0

嘿Shivanand ...我實現了這部分代碼,但沒有發生任何事情,因爲我相信安裝程序沒有被執行。 – StevanZakel

回答

1

所以我想通了最後...出於某種原因,我不得不進入phpmyadmin的,去core/resource並刪除包含你的模塊,刷新緩存行,然後再試一次。之後,安裝程序腳本運行!希望這能幫助別人!

0

你可以試試下面的代碼

<?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的緩存和檢查。

+0

感謝您的幫助!不幸的是,它沒有奏效。我不認爲安裝程序正在執行 – StevanZakel

相關問題