Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop Magento分层销售价格?_Oop_Magento_Zend Framework_Promotions - Fatal编程技术网

Oop Magento分层销售价格?

Oop Magento分层销售价格?,oop,magento,zend-framework,promotions,Oop,Magento,Zend Framework,Promotions,我一直在尝试镜像一些功能 在另一个网站上看到的Magento(v1.6)。在本例中 店主已设置将销售价格应用于某一层的功能。 (最有可能是tierprices.phtml作为包装)通过应用销售价格 (最有可能在管理/产品/价格销售中) 我一直在努力弄清楚到底是怎么做的,但还没有 到目前为止,在这方面取得了任何进展。有人知道这是怎么回事吗 建造 下面是示例网站 以下是表格代码: if($_tierPrices) { echo '<style>

我一直在尝试镜像一些功能 在另一个网站上看到的Magento(v1.6)。在本例中 店主已设置将销售价格应用于某一层的功能。 (最有可能是tierprices.phtml作为包装)通过应用销售价格 (最有可能在管理/产品/价格销售中)

我一直在努力弄清楚到底是怎么做的,但还没有 到目前为止,在这方面取得了任何进展。有人知道这是怎么回事吗 建造

下面是示例网站

以下是表格代码:

    if($_tierPrices) {
        echo '<style>
                .strikeRow      {text-decoration: line-through;}
                .saleRow td     {color:red;}
                .quantityRow    {background: #eef} 
                td              {padding:3px 9px; border: 1px solid #fc0;} 
            </style>';          // temporary styling

        $q = "<td>Quantity</td>";
        $p = "<td>{$_product->getName()}</td>";
        $s = "<td>Reduced Price</td>";

        foreach ($_tierPrices as &$tier) { 
        #$tier['tier_sale'] = '0.00';   // trick the dump into thinking there is a product sale
            if($tier['price_qty'])      { $q .= "<td>{$tier['price_qty']}</td>"; }
            if($tier['price'])          { $p .= "<td>".number_format($tier['price'], 2, '.', '')."</td>"; }
            if($tier['tier_sale'])      { $s .= "<td>{$tier['tier_sale']}</td>"; }
        }

        $q = "<tr class='quantityRow'>{$q}</tr>";
        $p = ($_tierPrices[0]['tier_sale'])? "<tr class='strikeRow'>{$p}</tr>"  : "<tr>{$p}</tr>";
        $s = ($_tierPrices[0]['tier_sale'])? "<tr class='saleRow'>{$s}</tr>"    : '';

        echo "<tbody>$q $p $s</tbody></table>";

    }
if($\u tierPrices){
回声'
.strikeRow{文本装饰:线穿过;}
.saleRow td{颜色:红色;}
.quantityRow{背景:#eef}
td{padding:3px 9px;border:1px solid#fc0;}
“;//临时样式
$q=“数量”;
$p=“{$\u产品->getName()}”;
$s=“降价”;
foreach($层价格为&$层){
#$tier['tier_sale']=“0.00”;//诱使垃圾堆认为有产品销售
如果($tier['price\u qty']){$q.=“{$tier['price\u qty']}”;}
if($tier['price']){$p.=''.number_格式($tier['price'],2','','');}
如果($tier['tier\u sale']){$s.=“{$tier['tier\u sale']}”;}
}
$q=“{$q}”;
$p=($\u tierPrices[0]['tier\u sale'])?“{$p}”:“{$p}”;
$s=($_tierPrices[0]['tier_sale'])?“{$s}”:”;
回声“$q$p$s”;
}
完整资料来源:

<?php
/**
 * @see Mage_Catalog_Block_Product_View
 */
$_product = $this->getProduct();
$_tierPrices = $this->getTierPrices();
$_finalPriceInclTax = $this->helper('tax')->getPrice($_product, $_product->getFinalPrice(), true);

/** @var $_catalogHelper Mage_Catalog_Helper_Data */
$_catalogHelper = Mage::helper('catalog');

$_weeeTaxAmount = Mage::helper('weee')->getAmountForDisplay($_product);

if (Mage::helper('weee')->typeOfDisplay($_product, array(1,2,4))) {
    $_weeeTaxAttributes = Mage::helper('weee')->getProductWeeeAttributesForDisplay($_product);
}

 if (count($_tierPrices) > 0) { 

    // start table group with class type if  (obj)getInGrouped() == 1
    echo ($this->getInGrouped()) ? '<table class="tier-prices-grouped product-pricing-grouped">' : '<table class="tier-prices product-pricing">'; 

    // assign tier pricing to $_tierPrices
    if ($this->getInGrouped()) {
         $_tierPrices = $this->getTierPrices($_product);
    }

        Mage::helper('weee')->processTierPrices($_product, $_tierPrices);

    foreach ($_tierPrices as $_price) {

        echo '<tr>';

        if ($_catalogHelper->canApplyMsrp($_product)) {

            if ($this->getInGrouped()) {

                echo $this->__('Buy %1$s for', $_price['price_qty']) .':';

            } else { 

                echo $this->__('Buy %1$s', $_price['price_qty']);

            } 

        } else {

                if ($this->helper('tax')->displayBothPrices()) {

                    if (Mage::helper('weee')->typeOfDisplay($_product, 0)) {

                        echo $this->__('Buy %1$s for %2$s (%3$s incl. tax) each', $_price['price_qty'], $_price['formated_price_incl_weee_only'], $_price['formated_price_incl_weee']);

                    } elseif(Mage::helper('weee')->typeOfDisplay($_product, 1)) {

                            echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']);

                            if ($_weeeTaxAttributes) {

                                echo '(<small>';
                                echo $this->__('%1$s incl tax.', $_price['formated_price_incl_weee']);

                                $separator = ' + '; 

                                    foreach ($_weeeTaxAttributes as $_attribute) {

                                        echo $separator;
                                        echo $_attribute->getName() .': '. Mage::helper('core')->currency($_attribute->getAmount());

                                    }

                                echo '</small>)';

                            }

                            echo $this->__('each');

                    } elseif(Mage::helper('weee')->typeOfDisplay($_product, 4)) {

                            echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']);

                            if ($_weeeTaxAttributes) {

                                echo '(<small>';
                                echo $this->__('%1$s incl tax.', $_price['formated_price_incl_weee']);

                                $separator = ' + '; 

                                    foreach ($_weeeTaxAttributes as $_attribute) {

                                        echo $separator;
                                        echo $_attribute->getName() .': '. Mage::helper('core')->currency($_attribute->getAmount()+$_attribute->getTaxAmount());

                                    }

                                echo '</small>)';

                            }

                            echo $this->__('each');

                    } elseif(Mage::helper('weee')->typeOfDisplay($_product, 2)) {

                            echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price']);

                            if ($_weeeTaxAttributes) {

                                echo '(<small>';

                                    foreach ($_weeeTaxAttributes as $_attribute) {

                                        echo $_attribute->getName() .': '. Mage::helper('core')->currency($_attribute->getAmount());

                                    }

                                echo $this->__('Total incl. Tax: %1$s', $_price['formated_price_incl_weee']);
                                echo '</small>)';

                            }

                            echo $this->__('each');

                    } else {

                            echo $this->__('Buy %1$s for %2$s (%3$s incl. tax) each', $_price['price_qty'], $_price['formated_price'], $_price['formated_price_incl_tax']);

                    }

                } else {

                    if ($this->helper('tax')->displayPriceIncludingTax()) {

                        if (Mage::helper('weee')->typeOfDisplay($_product, 0)) {

                                echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_weee']);

                        } elseif(Mage::helper('weee')->typeOfDisplay($_product, 1)) {

                                echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee']);

                                if ($_weeeTaxAttributes) {

                                    echo '(<small>';
                                    $separator = ''; 

                                    foreach ($_weeeTaxAttributes as $_attribute) {

                                            echo $separator;
                                            echo $_attribute->getName() .': '. Mage::helper('core')->currency($_attribute->getAmount());

                                        $separator = ' + '; 

                                    }

                                    echo '</small>)';

                                }

                                echo $this->__('each');

                        } elseif(Mage::helper('weee')->typeOfDisplay($_product, 4)) { 

                                echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee']);

                                if ($_weeeTaxAttributes) {

                                    echo '(<small>';
                                    $separator = ''; 

                                    foreach ($_weeeTaxAttributes as $_attribute) {

                                            echo $separator;
                                            echo $_attribute->getName() .': '. Mage::helper('core')->currency($_attribute->getAmount()+$_attribute->getTaxAmount());

                                        $separator = ' + ';

                                    } 

                                    echo '</small>)';

                                }

                                echo $this->__('each');

                        } elseif(Mage::helper('weee')->typeOfDisplay($_product, 2)) {

                                echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_tax']);

                                if ($_weeeTaxAttributes) {

                                    echo '(<small>';

                                        foreach ($_weeeTaxAttributes as $_attribute) {

                                            echo $_attribute->getName() .': '. Mage::helper('core')->currency($_attribute->getAmount());

                                        }

                                    echo $this->__('Total incl. Tax: %1$s', $_price['formated_price_incl_weee']);
                                    echo '</small>)';

                                }

                                echo $this->__('each');

                        } else {

                                echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_tax']);
                        }

                    } else {

                        if (Mage::helper('weee')->typeOfDisplay($_product, 0)) {

                                echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_weee_only']);

                        } elseif(Mage::helper('weee')->typeOfDisplay($_product, 1)) {

                                echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']);

                                if ($_weeeTaxAttributes) {

                                    echo '(<small>';
                                    $separator = ''; 

                                        foreach ($_weeeTaxAttributes as $_attribute) {

                                            echo $separator;
                                            echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount());

                                        $separator = ' + '; 

                                        }

                                    echo '</small>)';

                                }

                                echo $this->__('each');

                        } elseif(Mage::helper('weee')->typeOfDisplay($_product, 4)) {

                                echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']);

                                if ($_weeeTaxAttributes) {

                                    echo '(<small>';
                                    $separator = ''; 

                                        foreach ($_weeeTaxAttributes as $_attribute) {

                                            echo $separator;
                                            echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount()+$_attribute->getTaxAmount());

                                        $separator = ' + '; 

                                        }

                                    echo '</small>)';

                                }

                                echo $this->__('each');

                        } elseif(Mage::helper('weee')->typeOfDisplay($_product, 2)) {

                                echo $this->__('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price']);

                                if ($_weeeTaxAttributes) {

                                    echo '(<small>';

                                        foreach ($_weeeTaxAttributes as $_attribute) {

                                            echo $_attribute->getName(); ?>: <?php echo Mage::helper('core')->currency($_attribute->getAmount());

                                        }

                                    echo $this->__('Total incl. Tax: %1$s', $_price['formated_price_incl_weee_only']);
                                    echo '</small>)';

                                }

                                echo $this->__('each');

                        } else {

                                // concern
                                //echo $this->__('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price']);

                                $priceSchema['quantity'][] =  $_price['price_qty'];
                                $priceSchema['formated_price'][] =  $_price['formated_price'];

                        }


                    } 

        }


        } // Can apply MSRP

        if (!$this->getInGrouped()) {

        // we need this ~

            // funky ass OR switch, can i rework this in a saner way?
            if( ($_product->getPrice() == $_product->getFinalPrice() && $_product->getPrice() > $_price['price'])
             || ($_product->getPrice() != $_product->getFinalPrice() &&  $_product->getFinalPrice() > $_price['price']) ) {

//               echo ' '. $this->__('and') .'&nbsp;<strong class="benefit">'. $this->__('save') .'&nbsp;'. $_price['savePercent'] .'%';

            } 

//          echo '</strong>'; // why the hell isn't this in the OR switch??? 

        // we need this ~

        }

        if ($_catalogHelper->isShowPriceOnGesture($_product)) {

            $popupId = 'msrp-popup-' . $_product->getId() . $this->helper('core')->getRandomString(20);

            echo '<a href="#" id="'. $popupId .'">'. $this->__('Click for price') .'</a>';
            echo '<script type="text/javascript">';

            if (!$this->getInGrouped()) {

                echo 'var newLink = {';

                    echo 'url: "'. $this->getAddToCartUrl($_product, array('qty' => $_price['price_qty'])) .'",';
                    echo 'qty: "'. $_price['price_qty'] .'"';

                echo '};';

            } else {

                echo 'var newLink = {';

                    echo 'url: "'. $this->getAddToCartUrl($_product, array('qty' => $_price['price_qty'])) .'",';
                    echo 'notUseForm: true';

                echo '};';

            }

                echo 'Catalog.Map.addHelpLink(';

                    echo "$('{$popupId}'),";
                    echo '"'. $_product->getName() .'",';
                    echo json_encode($_price['real_price_html']) .',';
                    echo '"'. $this->helper('core')->currency($_product->getMsrp(),true,false) .'",';
                    echo 'newLink';

                echo ');';

            echo '</script>';

        } else {

            echo '<span class="msrp-price-hide-message">'. $_catalogHelper->getMsrpPriceMessage($_product) .'</span>';

        }

    }
}

    if($_tierPrices) {
        echo '<style>
                .strikeRow      {text-decoration: line-through;}
                .saleRow td     {color:red;}
                .quantityRow    {background: #eef} 
                td              {padding:3px 9px; border: 1px solid #fc0;} 
            </style>';          // temporary styling

        $q = "<td>Quantity</td>";
        $p = "<td>{$_product->getName()}</td>";
        $s = "<td>Reduced Price</td>";

        foreach ($_tierPrices as &$tier) { 
        #$tier['tier_sale'] = '0.00';   // trick the dump into thinking there is a product sale
            if($tier['price_qty'])      { $q .= "<td>{$tier['price_qty']}</td>"; }
            if($tier['price'])          { $p .= "<td>".number_format($tier['price'], 2, '.', '')."</td>"; }
            if($tier['tier_sale'])      { $s .= "<td>{$tier['tier_sale']}</td>"; }
        }

        $q = "<tr class='quantityRow'>{$q}</tr>";
        $p = ($_tierPrices[0]['tier_sale'])? "<tr class='strikeRow'>{$p}</tr>"  : "<tr>{$p}</tr>";
        $s = ($_tierPrices[0]['tier_sale'])? "<tr class='saleRow'>{$s}</tr>"    : '';

        echo "<tbody>$q $p $s</tbody></table>";

    }
?>

我很确定,无论是哪一层,您都在寻找期权的绝对定价,如果是这样的话,下面是如何实现这一点的链接:


这里有一个快速解决方案

您可以使用产品的“成本”字段来定义零售价格高于您的价格的百分比。默认情况下,“成本”字段用作您为产品支付的金额的备忘录,不在前端的任何位置使用

然后转到主题的templates/template/catalog/product/view/tierplices.phtml,并在
$\u product=$this->getProduct()之后添加以下行行:

$multiplier = $_product->getData('cost');
$multiplier = $multiplier ? $multiplier : 1;
以及
之间的以下行:

零售价格:

我相信你能随心所欲地设计它。如果有不清楚的地方,请告诉我。

您希望它如何工作?您希望根据某种算法自动计算每一层价格的零售价,还是手动输入?顺便说一句,另一个站点不是Magento:-实际上,它是一个目录规则,还是可以在管理面板中以百分比/总值的形式输入并不重要。任何东西都可以,我可以随时修改它。感谢您的响应。在Default.php中将这些选项添加到数据库中时,有一个巨大的缺陷=(
Retail price: <?php echo $_coreHelper->currency($_price['price']*$multiplier, true, false) ?>