Php 根据当前类别获取不同的自定义属性值

Php 根据当前类别获取不同的自定义属性值,php,magento,Php,Magento,我是magento的新手。我有名为“author”的自定义属性字段。我需要根据当前类别显示不同的作者姓名。请帮助我!我被这个绊倒了。目前,它显示了两到三次相同的作者姓名。任何帮助都将不胜感激。下面是工作不正常的代码 <?php $cat_idD = Mage::getModel('catalog/layer')->getCurrentCategory()->getId(); $loadcatID = Mage::getModel('catalog/cat

我是magento的新手。我有名为“author”的自定义属性字段。我需要根据当前类别显示不同的作者姓名。请帮助我!我被这个绊倒了。目前,它显示了两到三次相同的作者姓名。任何帮助都将不胜感激。下面是工作不正常的代码

<?php
      $cat_idD = Mage::getModel('catalog/layer')->getCurrentCategory()->getId();
      $loadcatID = Mage::getModel('catalog/category')->load($cat_idD);
      $collection = $loadcatID ->getProductCollection();
      $collection->addAttributeToSelect('author');
      $collection->getSelect()->distinct(true);

        $authname = "";

        foreach( $collection as $product){
           $authname .="<li>";
           $authname .="<input type='radio' id='".$product->getId()."' name='author' value='".$product->getauthor()."' class='left authfilter'>";
           $authname .="<label for='".$product->getId()."' class='left'>".$product->getauthor()."</label>";
           $authname .="</li>";

        }

        echo  $authname;
    ?>
您应该按“作者”分组

如果要调试执行的查询,请执行以下操作:

$collection->getSelect()->__toString();

希望这能对您有所帮助。

如果我将代码$collection->getSelect()->group('author')替换为$collection->getSelect()->distinct(true)。我收到的错误是“处理您的请求时出现错误”“出于安全原因,默认情况下禁用异常打印”。该错误不起作用
$collection->getSelect()->__toString();