Получить метку опции, связанную с магазином администратора в Magento 2
Я хочу просмотреть все параметры атрибутов, настроенных для фильтрации, и вывести метку представления хранилища администратора. Мне удалось получить только метку представления магазина по умолчанию (store_id 1) со следующим кодом:
$coll = $this->_objectManager->create(\Magento\Catalog\Model\ResourceModel\Product\Attribute\Collection::class);
$coll->addIsFilterableFilter();
$layeredNavAttributes = $coll->load()->getItems();
foreach ($layeredNavAttributes AS $attr) {
$options = $attr->getSource()->getAllOptions();
foreach ($options AS $option) {
echo $option['label'];
}
}
Как я могу получить ярлыки представления магазина администратора (идентификатор хранилища 0) вместо этого?
2
1 answers
После еще нескольких попыток я сам пришел к ответу. Просто вызовите метод setStoreId()
для каждого атрибута. Таким образом, код для получения ярлыков администратора выглядит следующим образом:
$coll = $this->_objectManager->create(\Magento\Catalog\Model\ResourceModel\Product\Attribute\Collection::class);
$coll->addIsFilterableFilter();
$layeredNavAttributes = $coll->load()->getItems();
foreach ($layeredNavAttributes AS $attr) {
$attr->setStoreId(0);
$options = $attr->getSource()->getAllOptions();
foreach ($options AS $option) {
echo $option['label'];
}
}
3
Author: Thomas, 2016-10-17 13:49:10