показать значение атрибута в админке magento

Я новичок в мадженто.

Я добавил дополнительное поле в таблицу sales_flat_order, то есть order_campaign_params Когда клиент завершил свой заказ, данные вставляются в эту таблицу. Теперь я хочу показать значение этого атрибута в admin. Я добавил дополнительный столбец в admin, т. е. Order Utm Source, но данные не отображаются. Подскажите, пожалуйста, как показать значение атрибута в админке. См. код для добавления столбца

 $this->addColumn('order_campaign_params', array(
           'header' => Mage::helper('orderreport')->__('Order Utm Source'),
           'index' => 'order_campaign_params',
           'filter_index'=>'customer_entity.order_campaign_params',
           'width' => '70px',
       ));

Но как показать данные этого поля, объясните пожалуйста.

Пожалуйста, ознакомьтесь со структурой:

таблица customer_entity_varchar

value_id entity_type_id  attribute_id  entity_id    value 
 136977             1          5        43120     Sanghamitra
 136978             1          7        43120     samal
 136979             1          12       43120     0860142023b7a810ce66a21b68
 136980             1          174      43120     data(order_compaign_params)
 136981             1          3        43120     Kalazone.in

Спасибо


person Prince    schedule 24.06.2015    source источник
comment
Это может помочь вам stackoverflow.com/questions/23647460/   -  person Manashvi Birla    schedule 24.06.2015
comment
Также было дано добавить дополнительный столбец, который я уже сделал, но он не показывает значение этого поля.   -  person Prince    schedule 24.06.2015
comment
посмотри ответ, там написано о коллекции sales/order_grid   -  person Manashvi Birla    schedule 24.06.2015


Ответы (1)


Сетка заказов на продажу построена из sales_flat_order_grid таблицы. Столбец order_campaign_params существует в таблице sales_flat_order, а не в таблице sales_flat_order_grid.

Итак, вам нужно присоединиться к MySQL с таблицей sales_flat_order_grid sales_flat_order, как показано ниже:

$select = $collection->getSelect();
$select->joinLeft(array('order' => Mage::getModel('core/resource')->getTableName('sales/order')), 'order.entity_id=main_table.entity_id',
array('order_campaign_params' => 'order_campaign_params'));
$select->joinLeft(array('custeav' => 'customer_entity_varchar'), 'custeav.attribute_id=main_table.order_campaign_params', array('*'));

Столбец order_campaign_params теперь будет отображаться в сетке.

Надеюсь это поможет.

person Manashvi Birla    schedule 24.06.2015
comment
когда я добавляю вышеуказанные строки, это показывает ошибку. Произошла ошибка при обработке вашего запроса SQLSTATE [23000]: нарушение ограничения целостности: 1052 Статус столбца в предложении where неоднозначен - person Prince; 24.06.2015
comment
хорошо, проблема решена......... не могли бы вы помочь мне получить значение атрибута из таблицы customer_entity_varchar???? - person Prince; 25.06.2015
comment
Я просто комментирую эту строку со страницы ,'завершено','доставлено','rto_получено','возмещено','rto'))); - person Prince; 25.06.2015
comment
пожалуйста, помогите мне получить значение атрибута из таблицы customer_entity_varchar. - person Prince; 25.06.2015
comment
в порядке. является ли order_campaign_params атрибутом_клиента .? и какое значение вы храните в таблице sales_flat_order? - person Manashvi Birla; 25.06.2015
comment
добавить это объединение $select->joinLeft(array('custeav' => 'customer_entity_varchar'), 'custeav.attribute_id=main_table.order_campaign_params', array('*')); - person Manashvi Birla; 25.06.2015
comment
Примечание. Если вы сохраняете значение в order_campaign_params, присоединяйтесь, используя столбец value вместо attribute_id - person Manashvi Birla; 25.06.2015
comment
вам нужно добавить это соединение в основную коллекцию, из которой отображается коллекция sales_order - person Manashvi Birla; 25.06.2015
comment
Он показывает ту же ошибку. Столбец не найден: 1054 Неизвестный столбец «main_table.order_campaign_params» в «предложении on» - person Prince; 25.06.2015
comment
я не знаю структуру вашей базы данных. не могу помочь тебе дальше - person Manashvi Birla; 25.06.2015
comment
пожалуйста, перейдите по этой ссылке, я использовал это, чтобы вставить данные в обе таблицы, надеюсь, это поможет вам, и вы можете помочь мне github.com/RobM84/Magento-Robm-Tracking - person Prince; 25.06.2015
comment
Привет, я обновил структуру таблицы varchar Customer_entity в своем вопросе. Пожалуйста, смотрите выше, спасибо. - person Prince; 25.06.2015