Автор Тема: Description + product name  (Прочитано 1470 раз)

07 Июнь 2016, 12:19:05
Ответ #15
  • Пользователь
  • **
  • Сообщений: 95
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В общем я так понимаю, нужно создать поле в OrderDetail.php, потом создать поле в бд ps_order_detail и изменить функцию getProductsDetail(), язык у меня один.
Поле создай в табл., переменную в классе OrderDetail.php, а getProductsDetail менять не нужно. Там и так все данные выбираются
SELECT *
FROM `'._DB_PREFIX_.'order_detail` od

Ясно, спасибо, а куда деть $this->product_description = $product['description_short']; В контроллер куда-то или в том же OrderDetail.php но где бы я там не пытался присвоить этой переменной значение из класса product, появляется ошибка и страница не грузится. Объявление новой переменной тысячу раз прочитал, все там верно, валидация и т.д. есть, а дальше я даже функцию создавал и запускал ее, но безрезультатно. Поэтому подумал мб создать эту функцию и вызвать из контроллера какого-нибудь, уже даже не знаю.
07 Июнь 2016, 13:12:36
Ответ #16
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Ошибка в записи, так как вы не описали заранее переменную класса product_description
$this->product_descriptionвторая ошибка в том, что у объекта product нет свойства description_short.
$product['description_short']все свойства этого объкты описаны в начале класса.
07 Июнь 2016, 13:17:16
Ответ #17
  • Пользователь
  • **
  • Сообщений: 95
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ошибка в записи, так как вы не описали заранее переменную класса product_description
$this->product_descriptionвторая ошибка в том, что у объекта product нет свойства description_short.
$product['description_short']все свойства этого объкты описаны в начале класса.
Есть такой объект, это краткое описание оно мне нужно
/** @var string Long description */
    public $description;

    /** @var string Short description */
    public $description_short;

А вот так у меня в OrderDetail.php

/** @var string */
public $product_description;
/**
     * @see ObjectModel::$definition
     */
    public static $definition = array(
        'table' => 'order_detail',
        'primary' => 'id_order_detail',
        'fields' => array(
           ...
        'product_description' =>            array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'size' => 255)
  ),
    );
          ...
        $this->product_description = $product['description_short'];
07 Июнь 2016, 13:33:04
Ответ #18
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
В таблице ps_order_detail создали поле "product_description"?
07 Июнь 2016, 13:41:30
Ответ #19
  • Пользователь
  • **
  • Сообщений: 95
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В таблице ps_order_detail создали поле "product_description"?
да, это все создал. Если не вставлять    $this->product_description = $product['description_short']; то пдф делает, старый, а вот после вставки строки, ошибка
07 Июнь 2016, 14:04:23
Ответ #20
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
{$product|var_dump}Вставьте такой код в шаблоне tpl для pdf документа.
Показывает description_short, есть в массиве?
07 Июнь 2016, 14:47:58
Ответ #21
  • Пользователь
  • **
  • Сообщений: 95
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{$product|var_dump}Вставьте такой код в шаблоне tpl для pdf документа.
Показывает description_short, есть в массиве?
может быть вы имели ввиду  {$order_detail|var_dump}? Потому что если делать ваш запрос, будет NULL, и если бы он выводил бы массив с полями, то тогда бы сработало бы {$product.description_short}в tpl. А если ввести, то что я написал, то  он там показывает  созданный product_description ["product_description"]=> string(0) и он пустой, потому что я убрал $this->product_description = $product['description_short']; иначе бы не сделал бы пдф. Получается поле то он видит но оно пустое, ошибка приходит во время его заполнения
08 Июнь 2016, 14:59:48
Ответ #22
  • Пользователь
  • **
  • Сообщений: 95
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Придется бросить затею  :'(
08 Июнь 2016, 15:16:15
Ответ #23
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Получается поле то он видит но оно пустое, ошибка приходит во время его заполнения
Так сам проверь таблицу  ps_order_detail и увидишь пустое поле product_description или нет.
14 Июнь 2016, 10:39:46
Ответ #24
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
https://www.prestashop.com/forums/topic/281869-solved-get-product-images-in-historytpl/
Вот нашел почти такую же тему. Только картинка вместо описания.