gpt4 book ai didi

oop - Magento Tier 销售价格?

转载 作者:行者123 更新时间:2023-12-01 02:10:23 33 4
gpt4 key购买 nike

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

我一直在努力弄清楚它是如何完成的,但还没有在这方面取得了任何进展。有谁知道这是怎么回事构造?

这是示例网站 http://www.epromos.com/product/2801001.html

这是表格代码:

    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>";

}

以及完整的来源:

<?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>";

}
?>

最佳答案

我很确定您正在寻找的是期权的绝对定价,无论层级如何,如果是这样的话,这里是如何实现这一目标的链接:

http://www.magentocommerce.com/wiki/5_-_modules_and_development/catalog/use-absolute-price-for-custom-options

关于oop - Magento Tier 销售价格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9257924/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com