Автор Тема: Вывод закупочной цены в админке  (Прочитано 228 раз)

28 Февраля 2015, 13:54:10
  • Фрилансер
  • *
  • Сообщений: 104
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте, уважаемые форумчане.
Столкнулся с потребностью выводить на странице заказа в админке закупочную цену каждого товара вместе с ценой его продажи в магазине. Путем проб и ошибок нашел место, куда писать код (AdminOrders.php) и из модуля Stockstats выцепил кусок кода вывода закупочной цены в админке:
<td>'.Tools::displayPrice($product['wholesale_price'], $currency).'</td>Просто копировать-вставить ничего не дало - в нужном месте выводится цена, но она всегда равна $0.00.
На этом мои познания закончились и я пока в тупике. Шуршание по нашим и зарубежным форумам результата не дало.
Помогите правильно прописать код. Буду благодарен любой помощи.
28 Февраля 2015, 14:35:41
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 33010
  • Репутация: +26761/-0
    • Просмотр профиля
28 Февраля 2015, 14:50:32
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 104
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
28 Февраля 2015, 15:21:49
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 33010
  • Репутация: +26761/-0
    • Просмотр профиля
В этом файле AdminOrders.php используются переменные класса Orders.php. Там нет переменной wholesale_price. Прежде чем использовать переменную, ее нужно определить.
$products = $this->getProducts();
foreach ($products as $product)
{
//вот тут добавлять $product['wholesale_price'] в шаблон или к объекту Order
}
28 Февраля 2015, 15:49:54
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 104
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В этом файле AdminOrders.php используются переменные класса Orders.php. Там нет переменной wholesale_price. Прежде чем использовать переменную, ее нужно определить.
$products = $this->getProducts();
foreach ($products as $product)
{
//вот тут добавлять $product['wholesale_price'] в шаблон или к объекту Order
}
Если я правильно понял, мне нужно определить переменную wholesale_price, чтобы она начала корректно считаться и отображаться после правки AdminOrders.php. Ее нужно определить в классе Orders.php (нашел только клас OrdeR.php). Дальше ничего не понял. Извините.
28 Февраля 2015, 16:02:43
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 13458
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Данные на странице заказа в админке беруться из таблицы ps_order_detail, а в ней нет данных о закупочной цене. Поэтому нужно сначала их получить из таблицы ps_product.

/* Products List */
....
foreach ($products as $k => $product)
{

         $productProduct= new Product($product['product_id'];
.....
<td align="center">'.$productProduct->wholesale_price.'</td>
02 Марта 2015, 19:16:31
Ответ #6
  • Фрилансер
  • *
  • Сообщений: 104
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Данные на странице заказа в админке беруться из таблицы ps_order_detail, а в ней нет данных о закупочной цене. Поэтому нужно сначала их получить из таблицы ps_product.

/* Products List */
....
foreach ($products as $k => $product)
{

         $productProduct= new Product($product['product_id'];
.....
<td align="center">'.$productProduct->wholesale_price.'</td>

Править нужно файл AdminOrders.php?
Пытаюсь прописать строчку
$productProduct= new Product($product['product_id'];и лезут ошибки, или unexpected ";", или unexpected T_VARIABLE.
Перепробовал массу вариаций.
02 Марта 2015, 20:01:43
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 33010
  • Репутация: +26761/-0
    • Просмотр профиля
Ошибка в коде, забыли точку с запятой поставить или запятая вместо точки или ...