2013-01-23 14 views

答えて

6

参照してください、あなたが試すことができるものMagentoのは、次のとおりです。

は、管理における2つのフィールドを作成します - カタログ> - >tierprice_to_datetierprice_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(); 
} 

その後の項目が使用してカートに追加されたときの価格をご確認オブザーバーとカスタムモジュールを作成しますイベント'sales_quote_add_item'

の作成:アプリ/コード/ローカル/ 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> 

作成:アプリ/コード/ローカル/ MageIgniter/TierPriceDa teRange /モデル/ 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; 
} 

作成:アプリの/ etc /モジュール/ MageIgniter_TierPriceDateRange.xml

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

そして、明確なキャッシュを、もしあれば。

+0

私は 'isStoreDateInInterval'関数の使用をお勧めします。使用法: 'Mage :: app() - > getLocale() - > isStoreDateInInterval(null、tierprice_from_date、tierprice_to_date' – Ian

+0

あなたはティアプライスセクションの各顧客グループに新しいアトリビュートを割り当てる方法を教えてください。各顧客グループのデータ –

+0

@RohitGoel参照http://stackoverflow.com/questions/18241595/how-do-you-add-custom-attributes-to-customer-groups-in-magento –

2

これは標準のMagento構成では不可能です。これを可能にするカスタムモジュールをビルドする必要があります(またはビルドする必要があります)。これは内、デフォルトでは可能ではないので

http://www.magentocommerce.com/boards/viewthread/230679/

+0

はい私はモジュールを作成するのに助けが必要でした。とにかくありがとう:) –

+0

あなたはどのように私は層の価格セクションの各顧客グループに新しい属性を割り当てることができます教えてくださいできますか?私は顧客グループごとに異なるデータを追加する必要があります。 –

関連する問題