有谁知道从 Magento 产品集合中读取排序顺序数组的聪明方法?对象中有一个受保护_orders
的属性。我可以达到它
$collection->getSelect()->getPart('order')
但是我必须进行字符串解析。我希望有某种公共方法可以从产品集合中获取排序信息?
有谁知道从 Magento 产品集合中读取排序顺序数组的聪明方法?对象中有一个受保护_orders
的属性。我可以达到它
$collection->getSelect()->getPart('order')
但是我必须进行字符串解析。我希望有某种公共方法可以从产品集合中获取排序信息?
您可以使用Reflection
:
$property = new ReflectionProperty(get_class($collection), '_orders');
$property->setAccessible(true);
$orders = $property->getValue($collection);
但是你不会避免一些字符串解析,因为订单值存储在字符串 ( $field.' '.Varien_Data_Collection::SORT_ORDER_(ASC|DESC)
)
对于带有工具栏的产品集合,您可以询问工具栏当前的排序顺序:
Mage::getBlockSingleton('catalog/product_list_toolbar')->getCurrentOrder()