[Помощь] Помогите подправить код (Select) в vmxsearch.plugin.php

kunev

Постоялец
Регистрация
28 Сен 2009
Сообщения
112
Реакции
6
Будьте так добры, помогите подправить правильно Select. Можно ли, как то в запросе выполнить
условие, к примеру чтоб при снятии товара с публикации в поиске отображалась надпись "товар отсутствует"

код ...\vmxsearch.plugin.php, примерно так (выделено, там где нужно подправить)

$query = "SELECT DISTINCT p.product_id, CONCAT (p.product_name, pr.product_price, if (p.product_publish='N') THEN 'Товар отсутствует') AS title,
FROM_UNIXTIME( p.cdate, '%Y-%m-%d %H:%i:%s' ) AS created,

p.product_full_image,
CONCAT('".$database->getEscaped($ItemName)."/',c.category_name) as section,
CONCAT('index.php?page=shop.product_details&flypage=',IFNULL(c.category_flypage,'" . FLYPAGE . "'),'&category_id=',IFNULL(c.category_id,''),'&product_id=',p.product_id) as href,
'2' as browsernav
$whole_text
FROM #__vm_product p
LEFT JOIN #__vm_product_reviews r ON (r.product_id = p.product_id)
LEFT JOIN #__vm_product_price pr ON (pr.product_id = p.product_id)
LEFT JOIN #__vm_product_mf_xref mx ON (mx.product_id = p.product_id)
LEFT JOIN #__vm_manufacturer m ON (m.manufacturer_id = mx.manufacturer_id),
#__vm_product_category_xref cx, #__vm_category c
WHERE ($where)" . "\n AND cx.product_id = p.product_id
AND cx.category_id = c.category_id $parent_where
AND c.category_publish='Y'
$oos_where
GROUP BY p.product_id
ORDER BY $order LIMIT 0, ".$botParams->get('limit', 30) ;
 
Было бы неплохо написать версию платформы, магазина и плагинов.
 
Было бы неплохо написать версию платформы, магазина и плагинов.

жумла 1.5.26, вирт 1.1.4, Virtuemart Extended Search Plugin 1.5. как это может помочь? не нужно меня просить что-то обновить, необходимы знания sql и php, нужно доработать код
 
Было бы неплохо написать версию платформы, магазина и плагинов.
Версии тут не причем, они толку не дадут.

А решение кроется не в запросе товара, а при выводе!
1. Добавить в запрос p.published, чтобы потом его можно было использовать
2. На выводе проверять по этому полю условие - if published == 0 - товар отсутствует else - все остальное
 
Насколько мне известно в Virtuemart (во 2й версии точно) есть возможность проставлять количество наличия товара в магазине и затем в настройках указать нужно ли выводить товары которых в наличии нет. Я бы использовал именно эту опцию, а не снятие с публикации. В шаблоне по условию если в наличии 0 выводить "товар отсутствует". SQL лучше не трогать, всё есть из коробки.
 
Насколько мне известно в Virtuemart (во 2й версии точно).

не нужно меня просить что-то обновить

Мне нужен кодер. Буду благодарен.

А решение кроется не в запросе товара, а при выводе!
1. Добавить в запрос p.published, чтобы потом его можно было использовать
2. На выводе проверять по этому полю условие - if published == 0 - товар отсутствует else - все остальное

Моя задача привязать поиск с ajaxlivesearch, чтоб при поиске в строке была надпись (или цена была бледного цвета, вариантов куча), мол товар отсутствует. Думал что может есть какая нибудь фишка, которая к примеру символ "Y" (в данном случае checkbox) в строке поиска будет подменять на заданное условие, прямо в запросе. Genk0, это понятно, я просто не могу понять где этот долбанный вывод находится, для меня всё что ниже уже дремучий лес, понять хотя бы в каком месте подставлять.

раз никто не помог, напишу сам, в sql запросе можно подменить командой replace, а именно:
REPLACE(p.product_publish, 'Y', 'результат'),
 
Последнее редактирование модератором:
Назад
Сверху