Magento で階層価格のデータ範囲 (開始日と終了日) を追加する方法を知る必要があります。これにより、指定された日付範囲内でのみ価格が表示されます。
私はマジェントを初めて使用するので、どんなガイダンスも大いに役立ちます。
前もって感謝します。
Magento で階層価格のデータ範囲 (開始日と終了日) を追加する方法を知る必要があります。これにより、指定された日付範囲内でのみ価格が表示されます。
私はマジェントを初めて使用するので、どんなガイダンスも大いに役立ちます。
前もって感謝します。
これはデフォルトでは不可能であるため、magento で試すことができるのは次のとおりです。
Admin -> Catalog -> Attribute for に 2 つのフィールドを作成しtierprice_to_date
、それをAttribute Sets のグループにtierprice_from_date
追加します。price
/app/design/frontend/base/default/template/catalog/product/view.phtml 内
if(date between tierprice_from_date and tierprice_to_date){
echo $this->getTierPriceHtml();
}
次に、 event を使用してアイテムがカートに追加されたときに価格をチェックするオブザーバーを含むカスタム モジュールを作成します'sales_quote_add_item'
。
作成: app/code/local/MageIgniter/TierPriceDateRange/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<MageIgniter_TierPriceDateRange>
<version>1.0.1</version>
</MageIgniter_TierPriceDateRange>
</modules>
<global>
<models>
<tierpricedaterange>
<class>MageIgniter_TierPriceDateRange_Model</class>
</tierpricedaterange>
</models>
<events>
<sales_quote_add_item>
<observers>
<tierpricedaterange_observer>
<type>singleton</type>
<class>tierpricedaterange/observer</class>
<method>updatePrice</method>
</tierpricedaterange_observer>
</observers>
</sales_quote_add_item>
</events>
</global>
</config>
作成: app/code/local/MageIgniter/TierPriceDateRange/Model/Observer.php
class MageIgniter_TierPriceDateRange_Model_Observer
{
public function updatePrice($observer) {
if(date NOT between tierprice_from_date and tierprice_to_date){
$cartItem = $observer->getEvent()->getQuoteItem();
// check if a tier price was apply and change it back to the original price (none tier price)
$product = Mage::getModule('catalog/product')->load($product->getId());
if($cartItem->getPrice() == $product->getTierPrice($cartItem->getQty())){
$new_price = $product->getPrice();
$product->setOriginalCustomPrice($new_price);
$product->save();
}
}
return $this;
}
作成: app/etc/modules/MageIgniter_TierPriceDateRange.xml
<?xml version="1.0"?>
<config>
<modules>
<MageIgniter_TierPriceDateRange>
<active>true</active>
<codePool>local</codePool>
</MageIgniter_TierPriceDateRange>
</modules>
</config>
次に、キャッシュがある場合はクリアします。
これは、標準の Magento 構成では不可能です。これを可能にするには、カスタム モジュールを作成する (または作成してもらう) 必要があります。
http://www.magentocommerce.com/boards/viewthread/230679/も参照してください