Отображение настраиваемых полей проверки адреса выставления счетов в таблице заказов на продажу администратора
В моем пользовательском модуле я немного изменил процесс оформления заказа и добавил некоторые пользовательские поля в разделе платежный адрес , следуя приведенному ниже руководству:
Http://excellencemagentoblog.com/blog/2011/10/06/magento-add-custom-fields-checkout-page/
Теперь эти пользовательские поля здесь сохраняются в другой таблице в виде пары ключ=>значение, основанной на идентификаторе заказа в таблице sales_order_custom, созданной моим модулем сам.
Кроме того, я хочу получить эти значения, связанные с модулем sales_order, и отобразить некоторые из этих полей типа ключ=>значение в таблице заказов на продажу администратора.
Как мне соединить эти две таблицы, чтобы ключи также преобразовывались в столбцы , и я мог получить их непосредственно в виде индекса "AddColumn"??
Я пытался перейти по ссылкам, но я думаю, что они несколько не тот путь, к которому я приближаюсь..
1) https://plugin.company/blog/join-eav-attribute-flat-table-collection-magento / - пытаясь это сделать, я получил следующую ошибку: "Указан недопустимый тип сущности: sales_order_custom"
2)http://blog.ki6i.com/magento-join-eav-and-flat-table/
Заранее спасибо..
1 answers
Моя статья относится к присоединению "стандартного" атрибута/таблицы EAV Magento к плоской таблице в Magento.
То, что вы пытаетесь сделать, - это соединить пользовательскую таблицу с плоской таблицей.
Должно сработать что-то вроде следующего:
$collection = Mage::getModel('sales/order')->getCollection();
$collection
->getSelect()
->joinLeft(
array('customattribute1' => 'sales_order_custom'),
"customattribute.order_id=main_table.entity_id AND customattribute.key = 'keynumber1here'"
)
)
;
(замените keynumber1here
ключом, который вы хотите добавить)
Затем вы могли бы сделать следующее в сетке:
$this->addColumn('your_column_name',array(
'label' => $this->__('Your Label'),
'index' => 'customattribute1.value'
)
)
Надеюсь, это поможет!