0

我正在尝试获取我知道产品循环外部标签的属性的 id。基本上我只想将标签转换为 ID。

属性代码是 new_brands,标签是 TESTONE 我正在尝试获取它的 ID,我知道它是 250。

我将一个类别称为属性标签(TESTONE)并将其存储在这样的变量中

$brandname = Mage::registry('current_category')->getName();

有了这些信息,我想将标签 TESTONE 转换为它的 ID,但在产品循环之外。

目的是我正在为品牌页面构建一个自定义模板,该模板将在这样的过滤器中使用 id

$collection->addFieldToFilter(数组(

    array('attribute'=>'pos_brands','eq'=>$brandid),array('attribute'=>'new_brands','eq'=>'250')
));

否则,我会对反向工作的解决方案感到满意。即从 ID 中获取标签。

4

1 回答 1

0

据我了解,您的属性是一个下拉列表($entityType = "catalog_product", $attrCode = "new_brands", $withEmpty = false):

$data = Mage::getModel('eav/entity_attribute')
  ->loadByCode($entityType, $attrCode)
  ->setSourceModel('eav/entity_attribute_source_table')
  ->getSource()
  ->getAllOptions($withEmpty);

$set = array();
foreach ($data as &$row) {
  $set[$row['label']] = $row['value'];
}
var_dump($set);
于 2012-08-24T06:34:25.050 回答