Как добавить тип доставки в грид заказов
03.11.2011 12:49
При создании заказа можно выбрать способ доставки. Клиент хочет что бы я отобразил его в гриде заказов.
Мне не удается обнаружить связь для добавления joinAttribute к коллекции.
Есть еще идея повесить свой класс на render и отталкиваясь от данных address_id и country_id обратится к нужным методам и узнать способ доставки.
Но не будет фильтрации и проблема в поиске нужных методов.
Буду благодарен за любую помощь.
03.11.2011 12:51
03.11.2011 13:08
Удалось найти таблицу sales_flat_quote_shipping_rate в ней есть нужные данные, но не могу понять как построить связь, поле address_id не уникальное.
03.11.2011 13:18
03.11.2011 13:35
03.11.2011 14:02
Попытаюсь как то сделать связь, есть поле quote_id может по нему как то получится связать $collection = Mage::getResourceModel('sales/order_collection') с этой таблицей.
03.11.2011 16:26
Вроде то что нужно.
Но появляется ошибка Item (Mage_Spplus_Model_Sales_Order) with the same id "2164" already exist
Не врублюсь почему.
03.11.2011 18:52
04.11.2011 10:23
04.11.2011 11:04
04.11.2011 11:11
04.11.2011 11:14
04.11.2011 11:24
Я его как то пропустил.
Но попробовал вывести запрос и выполнить его в phpmyadmin - отрабатывает c distinct и без distinct...
Но на странице та же ошибка.
Теперь, как то вообще не понятно в каком направлении копать.
04.11.2011 11:43
04.11.2011 12:03
Т.е. при чем тут другие виды связи? Если в итоге будет
$joinMethod = ($joinType == 'left') ? 'joinLeft' : 'join';
04.11.2011 12:13
Боюсь, этот ваш вывод противоречит реляционной алгебре.
Думаю, для вас будет лучшим для начала теорию SQL прочитать, а потом заново прочитать эту тему и сделать всё аккуратно, как я написал.
04.11.2011 13:02
В таблице sales_flat_quote_address на каждый заказ приходится по 2 записи c address_type = billing and address_type = shipping.
Тут distinct и др. манипуляции не помогут.
Похоже надо заюзать метод join и при объединении прописать address_type = 'shipping'
04.11.2011 13:29