Да, это должно быть достижимо, но старайтесь думать об этом не с точки зрения таблиц, а как объектов и коллекций.
Объект Product имеет метод getTierPrice
, который использует шаблон Factory для возврата цены уровня в зависимости от типа продукта (Simple, Bundle и т. Д.).Этот метод проверяет группу текущего посетителя при расчете цен уровня.
Таким образом, цена уровня не является атрибутом в классическом смысле Magento, что означает, что вы не можете фильтровать по атрибуту, вместо этого вы можете использовать функцию walk
в коллекции для вычисления цены уровня, а затемотфильтровать коллекцию по обновленным значениям.
Примером функции ходьбы может быть:
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->walk('Namespace_Module_Helper_Data::removeStockData',array());
, затем в вашем Namespace_Module_Helper_Data
вы получите что-то вроде:
public static function removeStockData($product = null)
{
$product->setData('stock_item',null);
return;
}
В качестве альтернативы вы можете запуститьколлекция через foreach
цикл:
foreach($collection->getItems() as $key => $item){
if($item->getTierPrice($qty) == $item->getPrice()){ //insert your own criteria
$collection->removeItemByKey($key);
}
}