magento-1.7 - magento-在管理模块中为层级价格添加从和到日期

标签 magento-1.7 magento

我需要知道如何在 magento 中为等级价格添加数据范围(从和到日期),这将使价格仅出现在给定的日期范围内。

我是 magento 的新手,所以任何指导都会有很大帮助。

提前致谢。

最佳答案

由于默认情况下这是不可能的,因此您可以尝试的 magento 是:

在管理 -> 目录 -> 属性中为 tierprice_to_date 创建 2 个字段和 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();
}

然后创建一个带有观察者的自定义模块,在使用事件 '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-1.7 - magento-在管理模块中为层级价格添加从和到日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14472070/

相关文章:

php - Paypal Pro 不在 magento 中显示运输方式

Magento 1.7-如何从“订单 View ”页面链接到产品的“管理员编辑”页面?

magento - 搜索销售订单网格重定向到 magento 1.7 中的仪表板

php - Magento CE 2.0 安装在大约 90% 时停止

php - Magento 与 nopCommerce

php - 设置默认 View 值标志时 Magento 的行为很奇怪

php - Magento 中的定期促销

php - Amazon EC2 上的 Magento

magento - 在管理员中启用使用安全 URL,magento 无法正确重定向

magento - 重复标题,Magento 忘记密码页面标题