Я использую PrestaShop v 1.6.1.1Prestashop добавить адрес столбца в BackOffice клиента
Что я пытаюсь получить
Я пытаюсь добавить столбец DNI в моей секции клиента в backoffice.
То, что я пытался
Я знаю, что файл, чтобы сделать это называется AdminCustomersController.php, и он находится в контроллерах/админ/AdminCustomersController.php
Также я знаю, что с этим запросом я могу получить данные в базе данных:
SELECT ps_address.dni, ps_customer. *
FROM ps_customer
INNER JOIN ps_address ON ps_customer.id_customer = ps_address.id_customer
LIMIT 0, 30
ТОК лор запрос в разделе клиента является:
SELECT a.`id_customer`, `firstname`, `lastname`, `email`, a.`active` AS `active`, `newsletter`, `optin` , a.date_add, gl.name as title, (SELECT SUM(total_paid_real/conversion_rate) FROM ps_orders o WHERE o.id_customer = a.id_customer AND o.id_shop IN (2, 1) AND o.valid = 1) as total_spent, (SELECT c.date_add FROM ps_guest g LEFT JOIN ps_connections c ON c.id_guest = g.id_guest WHERE g.id_customer = a.id_customer ORDER BY c.date_add DESC LIMIT 1) as connect, shop.name as shop_name FROM `ps_customer` a LEFT JOIN ps_gender_lang gl ON (a.id_gender = gl.id_gender AND gl.id_lang = 1) LEFT JOIN ps_shop shop ON a.id_shop = shop.id_shop WHERE 1 AND a.`deleted` = 0 AND a.id_shop IN (2, 1) ORDER BY `date_add` DESC LIMIT 0, 50
Я не знаю
Я не знаю, как изменить этот запрос, чтобы добавить только ps_address.dni, а также получить другие столбцы.
Благодаря
EDITED частично решаемая
Ну, в конце я не изменил AdminCustomersController.php я изменил AdminAddressesController.php это означает, что изменение клиентов/Направления BackOffice.
Я только что добавил эти строки, и она работала как шарм:
$this->fields_list = array(
'id_address' => array('title' => $this->l('ID'), 'align' => 'center', 'class' => 'fixed-width-xs'),
'firstname' => array('title' => $this->l('First Name'), 'filter_key' => 'a!firstname'),
'lastname' => array('title' => $this->l('Last Name'), 'filter_key' => 'a!lastname'),
'address1' => array('title' => $this->l('Address')),
'postcode' => array('title' => $this->l('Zip/Postal Code'), 'align' => 'right'),
'dni' => array('title' => $this->l('DNI'), 'align' => 'right'),
'city' => array('title' => $this->l('City')),
'country' => array('title' => $this->l('Country'), 'type' => 'select', 'list' => $this->countries_array, 'filter_key' => 'cl!id_country'));
Теперь у меня есть место для поиска DNI-клиент
dni - это поле ps_address (так и для модели Address), потому что у вас должно быть больше одного адреса на одного клиента, поэтому больше одного дня на одного клиента. Логически вы не можете этого сделать. – sarcom
@sarcom это хороший ответ, но, что, если я просто хочу получить первый адрес всегда? это может быть 1-1 – nanaki
@sarcom. Я только что отредактировал свой пост с моим частично решением. – nanaki