2012-02-29 2 views
3

Я создаю отчет о доставке, который позволит администратору видеть, сколько из каждого окна необходимо для отправки заказов дня. Мне уже удалось сохранить внутренние коды кодов для каждой партии. Проблема в том, что эти коды такие, как «SPECIAL_PKG» или «SHIPPING_PKG_1», но администратор должен видеть вместо этого имена, удобные для людей.Magento Collection/Grid - переименовать значения полей/столбцов

Результаты собраны с использованием типичной коллекции Mysql4 и показаны в Mage_Adminhtml_Block_Report_Grid. Все работает правильно, за исключением того, что я вижу внутренние коды вместо дружественных имен.

Есть ли способ, которым я могу переименовать коды в результатах сбора до их показа? Например, если я могу получить массив, как это ..

array(
    'SPECIAL_PKG' => 'Custom Packaging', 
    'SHIPPING_PKG_1' => 'Large Box' 
) 

.. то я могу использовать это, чтобы каким-то образом изменить значения, отображаемые в отчете?

К сожалению, я не могу выполнить SQL JOIN, чтобы получить эти удобные для пользователя имена, поскольку данные не существуют в единой стандартизованной таблице. Если бы я мог, я бы это сделал.

ответ

1

Получил это! Мне нужно было реализовать собственный рендерер, расширив Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract. Использовал this article в качестве руководства, и он отлично работает!

В случае, если это помогает любому, у кого есть аналогичная проблема: я использовал конструктор для создания массива (как показано в моем вопросе выше). Затем, внутри render(), я проверяю, существует ли ключ и покажите дружественные данные.

Смежные вопросы