Php 隐藏类别标题属性(如果为');他在Magento是空的
有人能帮我做以下事情吗?我们在下面的代码中显示产品所属类别的列表(我们使用的类别属性是“creareseo_heading”)。但是,有时“creareseo_heading”属性为空,但行仍显示有标签,但没有值。我认为我们需要某种“if”语句来完全隐藏行。我什么都试过了,但没能成功。基本上,如果“creareseo_heading”类别属性列表为空,我需要该行完全消失 解决了!!!见下文:)Php 隐藏类别标题属性(如果为');他在Magento是空的,php,magento,Php,Magento,有人能帮我做以下事情吗?我们在下面的代码中显示产品所属类别的列表(我们使用的类别属性是“creareseo_heading”)。但是,有时“creareseo_heading”属性为空,但行仍显示有标签,但没有值。我认为我们需要某种“if”语句来完全隐藏行。我什么都试过了,但没能成功。基本上,如果“creareseo_heading”类别属性列表为空,我需要该行完全消失 解决了!!!见下文:) 装饰表('product-attribute-specs-table') 对于注释来说
装饰表('product-attribute-specs-table')
对于注释来说,这太长了,因此添加另一个适合它的答案来帮助您调试问题
是否报告了任何错误?如果你理解了代码,也许你可以对代码进行渐进的修改,看看你是否得到了预期的结果。如果您没有,那么我建议首先将此代码块添加到您的原始代码中,就在我们正在讨论的
块上方
<?php
/* Build list with no empty values */
$applicationGuides = array();
foreach($catCollection as $cat){
$c = $cat->getCreareseoHeading();
if (!empty($c)) $applicationGuides[] = $c;
}
var_dump($applicationGuides);
?>
用if语句包装整个语句的正确方法是什么?如果cat属性为空,我基本上不希望出现任何内容。提前多谢!为你更新了我的答案。另外,如果表中没有其他内容,那么您也可以将
标记放在if
语句中。刚刚尝试过,但在我包含if语句后,产品页面的底部完全停止呈现。有什么想法吗?你能在没有表的if
语句的情况下显示*的HTML标记吗?我编辑了原始帖子,将完整代码和其他属性包含在表中。如果属性值为空,这些将正确消失。无错误。我只是将这个块添加到原始代码中,并且做了同样的事情。页面在属性表开始之前就停止呈现html。顺便说一句,感谢您的帮助。它不再中断,而是在整个表的正上方吐出以下字符串:数组(2){[0]=>NULL[1]=>NULL}HTML在表开始之前再次中断,与以前一样。我认为它可以工作!我在上面发布了最终代码。你能检查一下错误,看看它是否干净吗?
<?php
/* Build list with no empty values */
$applicationGuides = array();
foreach($catCollection as $cat){
$c = $cat->getCreareseoHeading();
if (!empty($c)) $applicationGuides[] = $c;
}
?>
<?php if(!empty($applicationGuides)): ?>
<tr>
<th class="label"><?php echo $this->__('Application Guide') ?></th>
<td class="data">
<ul>
<?php foreach($applicationGuides as $cat): ?>
<li><?php echo $cat; ?></li>
<?php endforeach; ?>
</ul>
</td>
</tr>
<?php endif;?>
<?php
/* Build list with no empty values */
$applicationGuides = array();
foreach($catCollection as $cat){
$c = $cat->getCreareseoHeading();
if (!empty($c)) $applicationGuides[] = $c;
}
var_dump($applicationGuides);
?>