2016-06-20 5 views
2

私はどこでも検索して何らかの理由で答えを見つけることができません。私は最初の属性をデータベースに保存していましたが、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)を使用して表示エラーをONにしてください;' 、コードを実行し、エラーメッセージを共有します。 ありがとう、 Shivanand。 – Shivanand

+0

Hey Shivanand ...コードのこの部分を実装しましたが、インストーラが実行されていないと思われるので何も起こりませんでした。 – StevanZakel

答えて

1

だから私はいくつかの理由で、私はphpmyadminのに行くとcore/resourceに行くと、あなたのモジュールを含む行を削除し、キャッシュを更新し、再度試してみました...ついにそれを考え出しました。その後、インストーラスクリプトが実行されました。これが誰かを助けることを願っています!

0

あなたはMagentoのキャッシュをクリアして確認するには、次のコードに

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

てみてくださいを試すことができます。

+0

助けてくれてありがとう!残念ながら、それは動作しませんでした。私はインストーラがまったく実行されていないと思います – StevanZakel

関連する問題