0

DB のあるテーブルから別のテーブルにデータをコピーするといういくつかの提案に従いましたが、機能していません。

この質問に対して受け取った回答に基づいて: Magento: データを order_payment および quote_payment に保存する方法

Mage/Sales/etc/Config.xml ファイルで次のことを試みました

<sales_convert_order_payment>
            <cc_bankname>
                <to_quote_payment>cc_bankname</to_quote_payment>
            </cc_bankname>
</sales_convert_order_payment>

この

<sales_convert_quote_payment>
            <cc_bankname>
                <to_order_payment>cc_bankname</to_order_payment>
            </cc_bankname>
</sales_convert_quote_payment>

ただし、銀行名は sales_flat_quote_payment テーブルにのみ保存され、 sales_flat_order_payment テーブルには保存されません。これは、この新しいデータを注文請求書と注文/ビューの下の管理者バックエンドに表示するために必要なテーブルです。

DB にデータ (銀行名) を手動で入力すると、必要な場所にこの情報を表示できますが、顧客が注文を確認できるため、注文完了時にデータを手動で入力するためにすべてのトランザクションを追跡することはできません。詳細を確認すると、私が自分で行うまで新しいデータを表示できません。

データが sales_fat_order_payment テーブルに引き継がれない理由を知っている人はいますか?

作成した新しい携帯電話番号属性で同じ問題が発生していますが、これを解決できれば、他のすべての同様の問題を処理できるはずです。

4

1 に答える 1

0

その手法(Mageと同じ名前を使用して名前を付ける)は、config.xmlでは機能しません。使い方?Alanstormhttp : //alanstorm.com/magento_config_declared_modules_tutorialによって書かれたこの記事を読む必要があります

app / etc / modulesで定義して独自のモジュールを作成する必要があります(もちろん、Mage以外の名前を付ける必要があります)。

例えば: app/etc/modules/Test_Sales.xml

コンテンツ:

<?xml version="1.0"?>
<config>
    <modules>
        <Test_Sales>
            <active>true</active>
            <codePool>local</codePool>
        </Test_Sales>
    </modules>
</config>

app/code/local/Test/Sales/etc/config.xml->ここで新しい構成を定義します

古いバージョンのmagentoでは、販売注文はeavタイプで保存されていました。上位バージョンでは、フラット化されています。名前を見てください:sales_flat_quote_paymentsales_flat_order_payment

Magentoは常にデータの下位互換性を維持しているため、に属性名cc_ownerがありますeav_attribute

あなたの場合、で新しい値を作成する必要はありませんeav_attribute(列を追加するだけcc_banknamesales_flat_quote_paymentsales_flat_order_paymentすでに作成されていると確信しています)。

あなたが前に言ったように、それが保存されない理由の問題sales_flat_order_paymentはキャッシュの問題のためです(Magentoはconfig.xmlをキャッシュするのでそれを更新する必要がありますSystem > Cache Management > Configuration

于 2012-08-17T16:34:12.097 に答える