Magento getCollection с фильтром веб-сайта - PullRequest
1 голос
/ 02 августа 2011

Установка My Magento имеет ценовую область, установленную на веб-сайте.Поэтому я могу устанавливать разные цены на товары для разных сайтов.

Я пытаюсь загрузить модель продукта, но полученное значение атрибута цены является значением по умолчанию, а не определенным для веб-сайта значением.

Ниже приведен код, который я использую.

             $oProduct = Mage::getModel("catalog/product")
                        ->getCollection()
                        ->addAttributeToSelect("*")
                        ->addWebsiteFilter($websiteId)
                        ->addFieldToFilter("entity_id", $ruleData["product_id"])                        
                        ->getFirstItem();

Не уверен, что мне не хватает метода addWebsiteFilter, похоже, не дает желаемого эффекта.

Спасибо

Ответы [ 2 ]

5 голосов
/ 24 октября 2014

Я хотел применить фильтр веб-сайта во внешнем интерфейсе и обнаружил, что с помощью addWebsiteFilter () (без параметров) для фильтрации продуктов по текущему веб-сайту это удалось. Пример:

Mage::getModel('catalog/product')->getCollection()->addWebsiteFilter()
4 голосов
/ 02 августа 2011

Я думаю, вам нужно установить StoreId для коллекции.Итак:

$oProduct = Mage::getModel("catalog/product")
                ->getCollection()
                ->setStoreId($correct_store_id_for_website)
                ->addAttributeToSelect("*")
                ->addFieldToFilter("entity_id", $ruleData["product_id"])                        
                ->getFirstItem();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...