Автор Тема: Вывести данные из переменной  (Прочитано 689 раз)

28 Апрель 2016, 09:09:45
  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго время суток есть такая проблема версия Престы 1.2.5.0, но уже много чего в ней переделано. Есть такая проблема, нужно вывести данные из формы заказа, а именно телефон заказчика $customer_phone, но когда данные отображаются, то выводятся данные телефона получателя а не заказчика.
Пишу такой код
$customer = new Customer($cart->id_customer);
$customer_phone=$customer->customer_phone;
Соответственно в переменной $customer_phone данные телефона заказчика должны быть, но на деле по другому.Самое интересное, что смотрю по базе в таблице customer_phone все верно отображается телефон заказчика. НЕ пойму что не так. Помогите кто может?
28 Апрель 2016, 09:29:00
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не извеситно, что у вас изменено. Заказчик и получатель могут быть разные. Попробуйте брать телефон из адреса доставки или фактуры.
$delivery_address->phone_mobile
28 Апрель 2016, 09:31:20
Ответ #2
  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Сейчас попробую, отпишу
28 Апрель 2016, 09:37:39
Ответ #3
  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не извеситно, что у вас изменено. Заказчик и получатель могут быть разные. Попробуйте брать телефон из адреса доставки или фактуры.
$delivery_address->phone_mobile
Еще вопрос не подскажите как его извлечь? если просто как вы написали то не отображается информация. Извиняюсь не совсем владею программированием
28 Апрель 2016, 09:44:54
Ответ #4
  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
При таком коде
$address = new Address($cart->id_address_delivery);
$phone=$address->phone_mobile;
Выводит телефон получателя, получается и телефон получателя и заказчика выводят разные переменные
28 Апрель 2016, 09:51:15
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В prestashop 1.2.5.0. свои классы и методы. У вас старая версия да и переделанная.
Посмотрите есть ли у вас класс OrderInvoice, если есть то в нем найдите переменные
/** @var string invoice address */
public $invoice_address;
/** @var string delivery address */
public $delivery_address;
Если они есть, тогда можете сделать так, как я написал.
Если нет, то вам нужно будет проверить класс Order, какие переменные для адресов доставки и фактуры ипользуются в вашей версии.
28 Апрель 2016, 10:03:23
Ответ #6
  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нашел в классе Order переменную
/** @var integer Delivery number */
public $delivery_number;
Возможно она. Что нужно приписать чтобы ее вывести?
28 Апрель 2016, 10:39:29
Ответ #7
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Чтобы вывести эту переменную
$order = new Order((int)$id);
$order->delivery_number;
28 Апрель 2016, 10:42:18
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Нашел в классе Order переменную
/** @var integer Delivery number */
public $delivery_number;
Возможно она. Что нужно приписать чтобы ее вывести?
А зачем ее выводить? Что это даст, это же ид адреса?
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
28 Апрель 2016, 11:09:37
Ответ #9
  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вроде разобрался. Нужно для того чтобы настроить интеграцию с смс.ру. Чтобы информация приходила клиенту на телефон.