Po zmianie linijki zadziałało.
Dziękuję.
Zainspirowało mnie to do wyciągnięcia notatki klienta (korzystam z tej informacji) - zadziałało:
<?php class AdminOrdersController extends AdminOrdersControllerCore { public function __construct() { parent::__construct(); $this->_select = '( SELECT GROUP_CONCAT(CONCAT(od.`id_customer`, "x ", od.`note`) SEPARATOR "|") FROM `'._DB_PREFIX_.'customer` od WHERE od.`id_customer` = a.`id_customer` GROUP BY od.`id_customer` ) AS `Note`,' . $this->_select; $splitIndex = array_search('carrier_name', array_keys($this->fields_list)); $this->fields_list = array_merge( array_slice($this->fields_list, 0, $splitIndex), array('Note' => array( 'title' => $this->l('Note'), 'callback' => 'displaynoteLine', 'orderby' => false, 'search' => false, )), array_slice($this->fields_list, $splitIndex) ); } public function displayNoteLine($p) { return implode(explode('|', $p), '<br />'); } }
Ale nie mam pojęcia jak wyświetlić obie kolumny. Ogólnie chcę dodać dwie kolumny do listy zamówień.
1 wersja (dla sklepu A - z tym pójdzie łatwiej):
1 dodatkowa kolumna: Produkty
2 dodatkowa kolumna: Notatka klienta
2 wersja (dla sklepu B - bardziej zakręcona dla mnie sprawa):
1 dodatkowa kolumna: Produkty
2 dodatkowa kolumna: Wiadomości od klienta
Spłodziłem coś takiego coby wyciągnąć Wiadomość od klienta ale nie ładzia:
<?php class AdminOrdersController extends AdminOrdersControllerCore { public function __construct() { parent::__construct(); $this->_select = '( SELECT GROUP_CONCAT(CONCAT("Wiadomość:"m.`message`) SEPARATOR "|") FROM `'._DB_PREFIX_.'message` m WHERE m.`id_order` = `'._DB_PREFIX_.'order_detail` od.`id_order` GROUP BY m.`id_order` ) AS `Message`,' . $this->_select; $splitIndex = array_search('carrier_name', array_keys($this->fields_list)); $this->fields_list = array_merge( array_slice($this->fields_list, 0, $splitIndex), array('Message' => array( 'title' => $this->l('Message'), 'callback' => 'displayMessageLine', 'orderby' => false, 'search' => false, )), array_slice($this->fields_list, $splitIndex) ); } public function displayMessageLine($p) { return implode(explode('|', $p), '<br />'); } }