0

oldprice如果字符串的值等于或大于字符串,则需要隐藏price字符串。

字符串的正确语法是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% предоплата',
 );
4

2 回答 2

0

你可以这样做:

 'oldprice' => ($_product->getPrice() >= $_product->getFinalPrice() ? 0 : $_product->getPrice())

或者只是事先进行计算

$oldPrice = null;
if ($_product->getPrice() >= $_product->getFinalPrice()) {
    $oldPrice = $_product->getPrice();
}

...

'oldprice' => $oldPrice

但是,这不会阻止将值保存到您的数组中(在本例中为 0),因此您仍然需要一些逻辑来回显它。

于 2015-11-02T09:13:11.580 回答
0

在将产品数据保存到数组之前,写一个 if 条件

<?php

   $oldprice = null;
   $finalprice = $_product->getFinalPrice();
   $price = $_product->getPrice();
   if($price>=$finalprice)
   {
     $oldprice =  $_product->getPrice();
   }

?>

并初始化数组

$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% предоплата',
 );
于 2015-11-02T11:45:54.047 回答