Сборка Модули от offlajnstorе.com

Да это уже решили.
Кто решил? я отвечал на сегодняшний пост другого человека человека:

Удалось ли кому то убрать SKU в поиске?

После как я заменил код в \plugins\search\virtuemart\virtuemart.php на твой который в спойлере то
p.product_sku,
там там я не нашел

есть только:
a.product_sku
a.product_sku LIKE '


, а вот это:

В файле в двух местах, где идут запросы к БД:
PHP:
$query = "SELECT DISTINCT CONCAT( p.product_name,' (',a.product_sku,')' ) AS title,
удали кусок кода:
PHP:
,' (',a.product_sku,')'
чтобы получилось так - привожу только кусочек кода
PHP:
$query = "SELECT DISTINCT CONCAT( p.product_name ) AS title,

Проверил - получилось.
Не забываем делать копию файла.

"Спойлер: ТЫЦ - Решение задачки "

Это почти репост моего решения двухстраничной давности ;)

Попробуй в плагине вирта plugins - search - virtuemart - virtuemart.php
изменить фрагмент
Код:
( a.product_name,' (',p.product_sku,')' ) AS title,
на
Код:
a.product_name AS title, p.product_sku,

в 2 местах этого файла - по идее должно решить твою проблему

естетсвенно с поправкой на время и версию вирта, потому и просил указать. :)
К тому-же не понятно как решение указанное ПОСЛЕ поста можно ставить в упрек со словами "это уже решили" %) тем более что ответ адресован другому %)

Вывод цены чуток позже опишу если к тому времени сами не сделаете :D
 
Самый простой способ - это добавить запрос к базе данных (2 строки в плагине) - но способ с минусами: не учитывается валюта и не учитывается скидка.
Вот так к примеру подкорректировав запрос:

Код:
            // search product //TODO  b.virtuemart_category_id>0 should be configurable
            $text = $db->Quote('%' . $db->getEscaped($text, true) . '%', false);
            $query = "SELECT DISTINCT CONCAT( a.product_name,'
/* добавлено */ Цена: ',pr.product_price,'руб.'
            ) AS title, a.virtuemart_product_id , b.virtuemart_category_id ,  a.product_s_desc  AS text, b.category_name as section,
                    p.created_on as created, '2' AS browsernav
                    FROM `#__virtuemart_products_".VMLANG."` AS a
                    JOIN #__virtuemart_products as p using (`virtuemart_product_id`)
                    LEFT JOIN `#__virtuemart_product_categories` AS xref ON xref.`virtuemart_product_id` = a.`virtuemart_product_id`
                    LEFT JOIN `#__virtuemart_categories_".VMLANG."` AS b ON b.`virtuemart_category_id` = xref.`virtuemart_category_id`"
/* добавлено */       LEFT JOIN `#__virtuemart_product_prices` AS pr ON pr.`virtuemart_product_id` = a.`virtuemart_product_id`"
            . ' WHERE ' . $where . ' and p.published=1 and b.virtuemart_category_id>0 '
            . ' ORDER BY ' . $order
            ;

Если магазин в 1 валюте и в поиске не надо учитывать скидку - то почти готово (ну скажем еще округлить до 2 символов после запятой можно).
Если надо и валюту учитывать и скидки - то тут надо функцию написать которая обработает полученные данные и чуток расширить запрос запросив нужные данные)
Это для второго вирта - для первого чуток по другому выглядит.
У меня к сожалению пока нет необходимости и времени доводить идею до универсальности.
 
какая версия вирта? плагин идущий в архиве с виртом или качался отдельно откуда-то? если это не последний вирт то выложи файлик гляну где там код искомый подлежащий удалению :)
(J2.5 VM 2.10) Файлик из поста Garyk01 Для просмотра ссылки Войди или Зарегистрируйся изменения из поста Для просмотра ссылки Войди или Зарегистрируйся от Garyk01, БлагоДарю всё отлично работаетДля просмотра ссылки Войди или Зарегистрируйся
 
Кто решил? я отвечал на сегодняшний пост другого человека человека:
К тому-же не понятно как решение указанное ПОСЛЕ поста можно ставить в упрек со словами "это уже решили" %) тем более что ответ адресован другому %)

Вывод цены чуток позже опишу если к тому времени сами не сделаете :D

Честно, и в мыслях не было ставить упреки))))
И за решение с ценой спасибо - сейчас проверю.
 
для первого чуток по другому выглядит.
У меня к сожалению пока нет необходимости и времени доводить идею до универсальности.
Скажите хотя-бы для первого в каких файлах ковырять, не могу понять структуру: столько всего подключено - и модуль, и компонент, и плагины. Идеальный вариант конечно, если вы все-таки поможете, может измененный файлик есть?

Добавил в плагин поиска vm запрос цены:
Код:
$query = "SELECT DISTINCT p.product_id, p.product_name as title,
                    FROM_UNIXTIME( p.cdate, '%Y-%m-%d %H:%i:%s'  ) AS created,
                    p.product_s_desc AS text,
/* добавлено */ pr.product_price as price,
                    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'
                            AND p.product_publish='Y'

Теперь нужно вывести, а как и где не могу понять.
 
Скажите хотя-бы для первого в каких файлах ковырять, не могу понять структуру: столько всего подключено - и модуль, и компонент, и плагины. Идеальный вариант конечно, если вы все-таки поможете, может измененный файлик есть?

Добавил в плагин поиска vm запрос цены:
Код:
$query = "SELECT DISTINCT p.product_id, p.product_name as title,
                    FROM_UNIXTIME( p.cdate, '%Y-%m-%d %H:%i:%s'  ) AS created,
                    p.product_s_desc AS text,
/* добавлено */ pr.product_price as price,
                    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'
                            AND p.product_publish='Y'

Теперь нужно вывести, а как и где не могу понять.

Ну это не совсем так - путь с as price сложнее :) Если использовать as price - то ниже надо обработку делать.
я предложил сразу после названия писать как title обратите внимание - не красиво конечно, но работает :D
p.product_name as title - вот тут вот
например:
SELECT DISTINCT p.product_id, p.product_name .'<span class="price">'.pr.product_price.'<small> руб.</small></span>'as title,
/* добавлено */ pr.product_price as price, - этого не надо (или если уж так, то в дальнейшем надо позаботится чтобы выводилось).

p.s. это все в плагине поиска вирта делается, так как сам ajax live search использует именно его.

p.s.s. готового к сожалению ни для первого ни для второго нет - я цену не вывожу в этом модуле. схемку вывода цены набросал специально по просьбе ;) когда ответ писал, на одноим из действующих магазинов поэкспериментировал, проверил что идея жизнеспособная и поделился.
 
я предложил сразу после названия писать как title обратите внимание - не красиво конечно, но работает :D
Хитро! Вариант не красивый, но голову ломать не хочется, если выводить отдельно, так как Offlajn постарались намудрить код так, чтоб не переделывали чайники. А вообще совсем не ясна их политика: ну как в нормальном поиске не сделать вывод цены, плагин-то они переделали.
 
melitrom

имеется ввиду вывод в ниспадающем окошке поиска или же списка который при нажатии на поиск выдается в теле сайта? потому что если сайта - то там все в порядке (цена выводится, надо только выбрать шаблон вирта а не джумлы для результатов насколько я помню).
 
melitrom

имеется ввиду вывод в ниспадающем окошке поиска или же списка который при нажатии на поиск выдается в теле сайта? потому что если сайта - то там все в порядке (цена выводится, надо только выбрать шаблон вирта а не джумлы для результатов насколько я помню).
В ниспадающем окошке. Уже вывел. С такой конструкцией <span class="price"> в CANCAT выдает строковую ошибку, а вот поставил <br> и нормально - переносит. Теперь цена хоть как-то выделяется. Только каждый элемент расширился, а область нет - опять код перебирать. И цена выводится: 123,00000 округлил функцией ROUND
 
Назад
Сверху