Автор Тема: Проблема в отображение товара "в наличии" или "под заказ" при просмотра тэга  (Прочитано 2361 раз)

10 Март 2015, 12:46:09
Ответ #15
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
10 Март 2015, 13:00:01
Ответ #16
  • Новичок
  • *
  • Сообщений: 43
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
добавил внизу /themes/default-bootstrap/product-list.tpl (в блоке if конечно)
{addJsDef availableLaterValue=$product->available_later|escape:'quotes':'UTF-8'}и кажися работает. что делает эта функция?
10 Март 2015, 13:13:16
Ответ #17
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Добавляет js переменные
<?php
// MediaCore::addJsDef()
public static function addJsDef($js_def)
{
if (is_array($js_def))
foreach ($js_def as $key => $js)
                
Media::$js_def[$key] = $js;
elseif ($js_def)
Media::$js_def[] = $js_def;
}

"Защищает" специальные символы в переменной.
{$var|escape:"quotes"} {* защита кавычек *}
10 Март 2015, 13:17:21
Ответ #18
  • Новичок
  • *
  • Сообщений: 43
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
правильно я понимаю. Оно не должно решать проблему отсутствия сведений о значении product.available_later, но делает это.
в любом случае запрос к БД идёт. и я успокаиваюсь. Но это баг
10 Март 2015, 13:26:19
Ответ #19
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Не совсем правильно, но то что это баг точно. При фильтрации по тегу происходит переопределение переменных шаблона с помощью js. В этой переменной используются не экранированные спец символы. Возникает ошибка. В js при такой ошибки просто не определяется это переменная, поэтому при проверки она выдает null. При добалении функции проверки и защиты спец символов, значение этой переменой передается без проблем.
10 Март 2015, 16:44:06
Ответ #20
  • Фрилансер
  • *
  • Сообщений: 176
  • Репутация: +0/-0
    • Просмотр профиля
На prestashop.com писали про такой баг и уже исправили. В поиске нужно было добавить выборку переводов. В файле Search.php в функции searchTag заменить
$sql = 'SELECT DISTINCT p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, pl.`description_short`, pl.`link_rewrite`, pl.`name`,
MAX(image_shop.`id_image`) id_image, il.`legend`, m.`name` manufacturer_name, 1 position,
на
$sql = 'SELECT DISTINCT p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, pl.`description_short`, pl.`link_rewrite`, pl.`name`, pl.`available_now`, pl.`available_later`,
MAX(image_shop.`id_image`) id_image, il.`legend`, m.`name` manufacturer_name, 1 position,
10 Март 2015, 16:58:17
Ответ #21
  • Новичок
  • *
  • Сообщений: 43
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
спасибо тебе, добрый человек!
а prestashop не хорошо поступают. бага старая - я находил посты с 2012 года... моему поделью нету месяца, т.е. установка свежая, а баг всё там же.