Magento - 将属性标签转换为产品循环之外的属性ID

时间:2012-08-24 00:03:31

标签: php magento attributes

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

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

我已经将属性标签(TESTONE)称为类别,并将其存储在类似

的变量中
$brandname = Mage::registry('current_category')->getName();

根据该信息,我想将标签TESTONE转换为它的ID,但在产品循环之外。

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

$收藏 - > addFieldToFilter(阵列(

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

否则我会对一个反向运作的解决方案感到满意。即从ID获得标签。

1 个答案:

答案 0 :(得分: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);