我决定在视图产品的顶部插入一些属性。我希望他们只在有信息时出现。什么时候是空的我想要标签和信息消失。 问题是当current属性为空时,即使它没有任何信息,钢也会出现标签。
这是我的代码:
<div class="short-information">
<a><span class="label"><?php echo $_product->getResource()->getAttribute('autor')->getStoreLabel(); ?></span><span class="titles"><?php echo $this->htmlEscape($_product->getData('autor')); ?></span></a>
<a><span class="label"><?php echo $_product->getResource()->getAttribute('editorial')->getStoreLabel(); ?></span><span class="titles"><?php echo $this->htmlEscape($_product->getData('editorial'));?></span></a>
</div>
我该如何正确使用此代码?当attibute为空时消除标签。 只是为了重新说明这是我在页面中插入的属性代码,而不是页面视图底部的属性代码。
答案 0 :(得分:0)
您没有指定哪个属性,但您可以使用if语句来执行此操作:
addNums' = foldl' (+) 0
与其他属性相同。
答案 1 :(得分:0)
好的,为此您需要首先检查您的属性是否有某些值,然后您只允许打印标签和相应的值。
<div class="short-information">
<?php if($this->htmlEscape($_product->getData('autor'))): //checks if author attribute has some value or not ?>
<a><span class="label"><?php echo $_product->getResource()->getAttribute('autor')->getStoreLabel(); ?></span><span class="titles"><?php echo $this->htmlEscape($_product->getData('autor')); ?></span></a>
<?php endif; ?>
</div>
在这里,我检查了author
属性值,您可以对其他属性值进行检查。
答案 2 :(得分:0)
尝试使用空或修剪功能,如下所示:
if(!empty($attributeValue)) { //replace $attributeValue with your variable name..
//do your thing
}
您还可以查看此内容 - https://www.virendrachandak.com/techtalk/php-isset-vs-empty-vs-is_null/
更新:尝试更改此行
if (!is_null($_product->getData($_attribute->getAttributeCode())) && ((string)$_attribute->getFrontend()->getValue($_product) != '')) { ?>
到
if (!is_null($_product->getData($_attribute->getAttributeCode())) && (trim((string)$_attribute->getFrontend()->getValue($_product)) != '')) { ?>
希望这会对你有所帮助。