如果值等于或大于另一个,则不显示字符串
问题描述:
如果字符串的值等于或大于price
字符串,则需要隐藏oldprice
字符串。如果值等于或大于另一个,则不显示字符串
字符串oldprice
的正确语法是什么?
// Save product data into result array
$result['products'][] = array(
'id' => $_product->getId(),
'in_stock' => (bool)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getIsInStock(),
'url' => str_replace('/index.php', null, $result['shop_data']['url']) . $_product->getUrlKey() . $helper->getProductUrlSuffix(),
'price' => $_product->getFinalPrice(),
'oldprice' => $_product->getPrice(),
'currencyId' => $currencyCode,
'categoryId' => $_category->getId(),
'picture' => $picUrl,
'name' => $_product->getName(),
'vendor' => trim($_product->getAttributeText('manufacturer')),
'model' => $_product->getSku(),
'description' => trim(strip_tags($_product->getShortDescription())),
'local_delivery_cost' => $priceship[0],
'market_category' => trim($_product->getAttributeText('market_category')),
'country_of_origin' => trim($_product->getAttributeText('country_of_manufacture')),
'local_delivery_cost' => 500,
'sales_notes' => '100% предоплата',
);
答
你可以做这样的事情:
'oldprice' => ($_product->getPrice() >= $_product->getFinalPrice() ? 0 : $_product->getPrice())
或只是做事先计算
$oldPrice = null;
if ($_product->getPrice() >= $_product->getFinalPrice()) {
$oldPrice = $_product->getPrice();
}
...
'oldprice' => $oldPrice
但是,这也不能阻止一个值被保存到你的阵列(在这种情况下0),所以你仍然需要一些逻辑来回应它。
答
之前的产品数据保存到数组写一个if条件
<?php
$oldprice = null;
$finalprice = $_product->getFinalPrice();
$price = $_product->getPrice();
if($price>=$finalprice)
{
$oldprice = $_product->getPrice();
}
?>
而且intialize阵列
$result['products'][] = array(
'id' => $_product->getId(),
'in_stock' => (bool)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getIsInStock(),
'url' => str_replace('/index.php', null, $result['shop_data']['url']) . $_product->getUrlKey() . $helper->getProductUrlSuffix(),
'price' => $finalprice,
'oldprice' => $price,
'currencyId' => $currencyCode,
'categoryId' => $_category->getId(),
'picture' => $picUrl,
'name' => $_product->getName(),
'vendor' => trim($_product->getAttributeText('manufacturer')),
'model' => $_product->getSku(),
'description' => trim(strip_tags($_product->getShortDescription())),
'local_delivery_cost' => $priceship[0],
'market_category' => trim($_product->getAttributeText('market_category')),
'country_of_origin' => trim($_product->getAttributeText('country_of_manufacture')),
'local_delivery_cost' => 500,
'sales_notes' => '100% предоплата',
);
我只是编辑的最后一个代码,现在这个样子: \t \t $ oldPrice = $ _product-> getPrice(); \t \t if($ _product-> getFinalPrice()> = $ _product-> getPrice()){ \t \t $ oldPrice = null; \t \t} –