Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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
Php 仅当产品属性值存在时才显示该值_Php_Magento - Fatal编程技术网

Php 仅当产品属性值存在时才显示该值

Php 仅当产品属性值存在时才显示该值,php,magento,Php,Magento,令人惊讶的是,我在这上面找不到任何东西。。。基本上,我在产品视图页面上调用我的自定义产品属性,如下所示: Men / Women: <?php echo $this->htmlEscape($_product->getmenwomen()) ?> 如果一个产品真的没有价值,我希望这一行完全不显示出来。有什么想法吗?这不是100%,因为我不确定getmenwomen()如果为空是否会返回false 如果不返回任何内容,则默认情况下应返回false <?php i

令人惊讶的是,我在这上面找不到任何东西。。。基本上,我在产品视图页面上调用我的自定义产品属性,如下所示:

Men / Women: <?php echo $this->htmlEscape($_product->getmenwomen()) ?>

如果一个产品真的没有价值,我希望这一行完全不显示出来。有什么想法吗?

这不是100%,因为我不确定getmenwomen()如果为空是否会返回false 如果不返回任何内容,则默认情况下应返回false

<?php
  if ($var = $this->htmlEscape($_product->getmenwomen()) {
    echo "Men / Women: " + $var;
  }
?>

您的意思是,如果有值,则显示所有内容,如果没有值,则什么也不显示?只需添加一个简单的条件:

if (!empty($this->htmlEscape($_product->getmenwomen())))
   echo 'Men / Women: '.$this->htmlEscape($_product->getmenwomen());

就这样,您甚至不需要在其中添加其他内容。

在打印之前,您必须检查getmenwomen()的值是否确实包含您希望它包含的内容(例如男性/女性)。在本例中,我假定除空格以外的任何内容都是有效值

$menwomen = $_product->getmenwomen();
if (trim($menwomen)) {
    echo "Men / Women: ".$this->htmlEscape($menwomen);
}

谢谢linus,但那段代码给了我这个错误——“致命错误:无法在写上下文中使用方法返回值”谢谢你的帮助Chris,User684736的答案似乎起到了作用。
$menwomen = $_product->getmenwomen();
if (trim($menwomen)) {
    echo "Men / Women: ".$this->htmlEscape($menwomen);
}