循环属性品牌
问题描述:
即时通讯尝试循环我所有的属性品牌,但是空白,并没有给出任何错误,无法弄清楚我的代码有什么问题。循环属性品牌
我很确定问题出在我的代码中,因为我已经将静态数据放在我的视图中,并且工作正常,我还注意到问题出在“$ val [0] =”不能得到字符串“$ val”的第一个字符串。
这里是我的源:
<div class="brandlist">
<div class="lettermenu">
<ul>
<li style="float:left;">A-Z Brands List</li>
<li><a class="letterlink" href="#A">A</a></li>
<li><a class="letterlink" href="#B">B</a></li>
<li><a class="letterlink" href="#C">C</a></li>
<li><a class="letterlink" href="#D">D</a></li>
<li><a class="letterlink" href="#E">E</a></li>
<li><a class="letterlink" href="#F">F</a></li>
<li><a class="letterlink" href="#G">G</a></li>
<li><a class="letterlink" href="#H">H</a></li>
<li><a class="letterlink" href="#I">I</a></li>
<li><a class="letterlink" href="#J">J</a></li>
<li><a class="letterlink" href="#K">K</a></li>
<li><a class="letterlink" href="#L">L</a></li>
<li><a class="letterlink" href="#M">M</a></li>
<li><a class="letterlink" href="#N">N</a></li>
<li><a class="letterlink" href="#O">O</a></li>
<li><a class="letterlink" href="#P">P</a></li>
<li><a class="letterlink" href="#Q">Q</a></li>
<li><a class="letterlink" href="#R">R</a></li>
<li><a class="letterlink" href="#S">S</a></li>
<li><a class="letterlink" href="#T">T</a></li>
<li><a class="letterlink" href="#U">U</a></li>
<li><a class="letterlink" href="#V">V</a></li>
<li><a class="letterlink" href="#W">W</a></li>
<li><a class="letterlink" href="#X">X</a></li>
<li><a class="letterlink" href="#Y">Y</a></li>
<li><a class="letterlink" href="#Z">Z</a></li>
</ul>
</div>
<?php
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_product', 'manufacturer');
$alpha="A";
foreach ($attribute->getSource()->getAllOptions(true, true) as $option){
$attributeArray[$option["value"]] = $option["label"];
}foreach($attributeArray as $key=>$val){
$url = "/catalogsearch/advanced/result/"."?manufacturer%5B%5D=".$key;
if ($val[0]==="") {}
elseif ($alpha===$val[0]){ ?>
<div class="brandname"><a href="<?php echo $url?>"> <?php echo $val; ?></a></div><?php
}
else {
echo "<div id='". $val[0] ."' class='letter'>".$val[0]."</div>";
?>
<div class="brandname"><a href="<?php echo $url?>"> <?php echo $val; ?></a></div>
<?php
$alpha=$val[0];
}}
?>
?>
</div>
<style>
.brandlist {margin:auto;}
.brandname {min-width:200px;float:left;width:25%;padding:10px;}
.letter {display:inline-block;width:100%;background:#9F9F9F;padding:10px;}
.lettermenu {margin-top:0px;text-align: center;}
.letterlink {min-width:20px;width:3.4%;float:left;margin-right:0px;}
</style>
答
你的属性使用下面的代码用于获取的收集:
<?php
$name='manufacturer';
$attributeInfo = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter($name)->getFirstItem();
$attributeId = $attributeInfo->getAttributeId();
$attribute = Mage::getModel('catalog/resource_eav_attribute')->load($attributeId);
$attributeOptions = $attribute ->getSource()->getAllOptions(false);
print_r($attributeOptions);
?>
我会建议由'改变你的比较操作开始==='到'=='。 $ a === $ b是真的,如果$ a与$ b相等,并且它们是'相同类型'。 $ a == $ b如果$ a在类型改变后等于$ b,则为真。更多关于这个问题:http://php.net/manual/en/types.comparisons.php#type.comparisons-strict –