private:koding:hostcms:modules:formy_ca:shop_order_fields

Вывод доставки и платежной системы в списке заказов

Если требуется вывести какие-нибудь доп. данные о заказах на форме списка заказов в ЦА, то можно воспользоваться следующим решением.

  1. В bootstrap.php добавляем следующий код:
    // Вывод названия доставки и платежной системы в списке заказов
    Core_Event::attach('shop_order.onCalldelivery', array('Shop_Order_Observer_AdditionalFields', 'onCalldelivery'));
    Core_Event::attach('shop_order.onCallpayment_system', array('Shop_Order_Observer_AdditionalFields', 'onCallpayment_system'));
  2. Создаем файл наблюдателя /modules/shop/order/observer/additionalfields.php со следующим содержимым:
    <?php
     
    defined('HOSTCMS') || exit('HostCMS: access denied.');
     
    /**
     * Вывод названия доставки и платежной системы в списке заказов
     * 
     * В bootstrap.php добавляем следующий код:
     * // Вывод названия доставки и платежной системы в списке заказов
     * Core_Event::attach('shop_order.onCalldelivery', array('Shop_Order_Observer_AdditionalFields', 'onCalldelivery'));
     * Core_Event::attach('shop_order.onCallpayment_system', array('Shop_Order_Observer_AdditionalFields', 'onCallpayment_system'));
     */
    class Shop_Order_Observer_AdditionalFields
    {
    	/**
    	 * Доставка
    	 *
    	 * @return string
    	 */
    	static public function onCalldelivery(Shop_Order_Model $oShopOrder, $args)
    	{
    		return strval($oShopOrder->Shop_Delivery->name);
    	}
     
    	/**
    	 * Платежная система
    	 * 
    	 * @return string
    	 */
    	static public function onCallpayment_system(Shop_Order_Model $oShopOrder, $args)
    	{
    		return strval($oShopOrder->Shop_Payment_System->name);
    	}
    }
  3. В ЦА идем в Система → Формы центра администрирования, находим форму «Оформленные заказы», в ней добавляем 2 поля следующим образом:
    • Название: «Доставка», Ключевое поле: delivery, Тип поля: Вычисляемое поле
    • Название: «Платежная система», Ключевое поле: payment_system, Тип поля: Вычисляемое поле
  4. Получаем следующий результат:

Страницу создал Максим Засорин 30.11.16 в 18:10

private/koding/hostcms/modules/formy_ca/shop_order_fields.txt · Last modified: 27.06.17 в 14:33 by maximzasorin_gmail.com