2

カスタム テーブル (my_own_prices など) から取得した価格を適用したい。Magento の価格 (段階的価格や特別価格など) を使用できない特定の状況があり、テーブルからデータを取得してショッピング カートに適用する必要があります。可能でしたら回答お願いします。

4

1 に答える 1

1

catalog_product_get_final_priceオブザーバーを使用してそれを行うことができます。

最初にモジュールでオブザーバーを宣言します (既にモジュールがあると仮定します) etc/config.xml:

<config>
    ...
    <frontend>
        <events>
            <catalog_product_get_final_price>
                <observers>
                    <something_unique_here>
                        <type>singleton</type>
                        <class>YourCompany_YourModule_Model_Observer</class>
                        <method>catalogProductGetFinalPrice</method>
                    </something_unique_here>
                </observers>
            </catalog_product_get_final_price>
        </events>
    </frontend>
    ...
</config>

次に、モジュールModel\Observer.phpに次のメソッドを追加します。

public function catalogProductGetFinalPrice($observer)
{
    $product = $observer->getEvent()->getProduct();

    // Do your queries to your custom tables here and if necessary ..
    $product->setFinalPrice(..);
}
于 2012-11-26T09:15:24.810 に答える