AKn*_*nox 4 php product rule magento magento-1.7
在magento 1.7上,我为"特殊会员"客户群创建了20%折扣的促销价格规则.
我想显示两个价格.我以为会有类似的东西
$_product->getPriceByCustomerGroup( $groupId );
Run Code Online (Sandbox Code Playgroud)
目标
(未登录):
(会员登录):
好吧,周围的一点点,但我想我有它.
您可以通过调用产品的setCustomerGroupId来获取特定组ID的价格(在下面的情况下为3).唯一需要注意的是,一旦调用了setCustomerGroupId函数,就无法将客户组ID设置为不同的组并获得该组的价格 - 它将价格设置一次然后不会覆盖它.
在下面的示例中,对于除组ID 3之外的所有组,我有一个正常价格为399.99美元的产品.对于组ID 3,我有一个目录价格规则设置为20%的折扣.
如果我运行下面的代码,我得到:
product A: 399.99
product B (group id 3): 319.9900
product B (group id 0): 319.9900
Run Code Online (Sandbox Code Playgroud)
请注意我第二次设置客户群时它不会改变价格
$_productA = $this->getProduct();
$_productB = Mage::getModel('catalog/product')->load($_productA->getId());
$_productB->setCustomerGroupId(3);
echo 'product A: '.$_productA->getFinalPrice().'<br/>';
echo 'product B (group id 3): '.$_productB->getFinalPrice().'<br/>';
$_productB->setCustomerGroupId(0);
echo 'product B (group id 0): '.$_productB->getFinalPrice().'<br/>';
Run Code Online (Sandbox Code Playgroud)
第二次幸运:)
在黑客入侵一段时间后,我已经完成了自己的愿望
$now = Mage::getSingleton('core/date')->timestamp( time() );
$websiteId = Mage::app()->getStore()->getWebsiteId();
$customerGroup = 4;
Mage::getResourceModel('catalogrule/rule')->getRulePrice( $now, $websiteId, $customerGroup, $_productId);
Run Code Online (Sandbox Code Playgroud)