С VS2008 можно сделать это:
devenv solution.sln /build configuration
Вам не нужно использовать addFieldToFilter
.
сейчас решение: имя атрибута
известно как код
в magento, вам просто нужно использовать приведенный ниже код, чтобы получить все продукты, которые имеют определенный атрибут в виде массива
$prodsArray=Mage::getModel('catalog/product')->getCollection()
->addAttributeToFilter('custom_attribute_code')
->getItems();
, вы также можете указать определенные условия для значения атрибута в addAttributeToFilter
во втором параметре addAttributeToFilter.
вы можете найти этот метод в этом файле (для дальнейшего изучения):
app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php
Фильтрация коллекции товаров по нулевым / пустым атрибутам имеет два возможных решения. Magento использует INNER JOIN, чтобы получить значения атрибутов для фильтрации. НО, если атрибуту продукта не присвоено значение, соединение не удастся, так как таблица / связь базы данных отсутствуют.
Решение №1: Используйте addAttributeToFilter () и измените тип соединения с «внутреннего» (по умолчанию ) на "влево":
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToFilter('custom_attribute', array( ... condition options ..), 'left');
Решение №2: Убедитесь, что ваш настраиваемый атрибут имеет значение по умолчанию. Magento в этом отношении консервативен. Magento создаст связь между атрибутом и продуктом, только если для атрибута задано значение. Таким образом, при отсутствии значения, указанного пользователем или значения по умолчанию, атрибут не будет доступен для фильтрации продукта , даже если атрибут отображается в представлении сведений о продукте в панели администратора.
Я вижу, вы уже нашли решение, но есть также этот вариант:
$collection->addFieldToFilter('parent_item_id', array('null' => true));
, но если вы хотите использовать «NULL» => FALSE, который не работает. (И я заметил, что вы можете использовать такие элементы, как «в», «Nin», «EQ», «NEQ», «GT»), вы можете сделать это:
$collection->addFieldToFilter('parent_item_id', array('neq' => 'NULL' ));
Надеюсь, это все еще полезно ...