У продуктов есть аттрибут, скажем, Vendor. Текстовое поле.
Я могу отсортировать products через addAttributeToSort.
Но у Quote Items такой возможности нет.
Как можно решить эту проблему?
Как программно упорядочить заказанные товары по алфавиту?
27.02.2012 10:47
Такие задачи решаются стандартно.
Перед загрузкой коллекции (в вашем случае - Mage_Sales_Model_Resource_Quote_Item_Collection) указываете коллекции добавить к элементам колллекции при их загрузке требуемое вам свойство и задаёте упорядочивание по этому свойству.
Перед загрузкой коллекции (в вашем случае - Mage_Sales_Model_Resource_Quote_Item_Collection) указываете коллекции добавить к элементам колллекции при их загрузке требуемое вам свойство и задаёте упорядочивание по этому свойству.
27.02.2012 15:10
Спасибо за быстрый ответ.
У меня в итоге получился такой код:
class Mage_Sales_Model_Resource_Quote_Item_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
{
public function _initSelect()
{
parent::_initSelect();
$this->getSelect()->join(
array('link_table' => $this->getTable('catalog/product')),
'link_table.entity_id = main_table.product_id',
array('sku'));
return $this;
}
В этом фрагменте я "зацепил" таблицу продуктов.
Дальше мне надо подцепить атрибут продукта с название "vendor"?
Я на правильном пути?
Может есть у кого-нибудь подобный код чтобы не изобретать колесо?
У меня в итоге получился такой код:
class Mage_Sales_Model_Resource_Quote_Item_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
{
public function _initSelect()
{
parent::_initSelect();
$this->getSelect()->join(
array('link_table' => $this->getTable('catalog/product')),
'link_table.entity_id = main_table.product_id',
array('sku'));
return $this;
}
В этом фрагменте я "зацепил" таблицу продуктов.
Дальше мне надо подцепить атрибут продукта с название "vendor"?
Я на правильном пути?
Может есть у кого-нибудь подобный код чтобы не изобретать колесо?
27.02.2012 15:18
Magento использует модель хранения EAV, поэтому свойства товара хранятся вовсе не в таблице catalog/product.
Посмотрите, как добавляются свойства товаров в коллекцию товаров.
Посмотрите, как добавляются свойства товаров в коллекцию товаров.