поиск в админ. панели по элементу цены -> артикул
#1
Posted 15 June 2016 - 08:24
#2
Posted 15 June 2016 - 13:35
nowell, готового решения нет. Для этой задачи нужны знания PHP и API JBZoo/Zoo - что бы сделать хаки в файлах Zoo/JBZoo. Вам должны помочь этот и еще один топик.
#3
Posted 20 June 2016 - 09:32
nowell, готового решения нет. Для этой задачи нужны знания PHP и API JBZoo/Zoo - что бы сделать хаки в файлах Zoo/JBZoo. Вам должны помочь этот и еще один топик.
- if ($search) {
- $searchData = explode(' ', $search);
- $searchWhere = array();
- $from .= ' LEFT JOIN ' . ZOO_TABLE_SEARCH . ' AS s ON a.id = s.item_id';
- foreach ($searchData as $searchWord) {
- $searchWord = JString::trim($searchWord);
- $searchWhere[] = implode(' OR ', array(
- // 'LOWER(a.name) REGEXP ' . $this->db->Quote('^' . $this->db->escape($searchWord, true) . '', false),
- // 'LOWER(a.name) REGEXP ' . $this->db->Quote('' . $this->db->escape($searchWord, true) . '$', false),
- // 'LOWER(a.name) REGEXP ' . $this->db->Quote(' ' . $this->db->escape($searchWord, true) . '', false),
- // 'LOWER(a.name) REGEXP ' . $this->db->Quote('' . $this->db->escape($searchWord, true) . ' ', false),
- 'LOWER(a.name) REGEXP ' . $this->db->Quote('[[:<:]]' . $this->db->escape($searchWord, true) . '[[:>:]]', false)
- ));
- }
- $where[] = '((' . implode(') AND (', $searchWhere) . '))';
- }
#4
Posted 20 June 2016 - 21:03
таблицы разные же, мой пример совсем для другого (просто принцип схож).
JBZoo чат /
Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке
#5
Posted 21 June 2016 - 15:10
Извиняюсь что влез, но тему артикул, и я подымал
Просто Уважаемые разработчики поймите правильно в торговле артикул бывает часто важнее наименования.
Просто обратите внимание на тему артикул, когда время найдется.
С уважением Михаил.
#6
Posted 21 June 2016 - 15:42
Извиняюсь что влез, но тему артикул, и я подымал
Просто Уважаемые разработчики поймите правильно в торговле артикул бывает часто важнее наименования.
Просто обратите внимание на тему артикул, когда время найдется.
С уважением Михаил.
У них товар Вибратор 200 наименований, но чтобы понять (и простить) какой нужен у каждого был артикул набираем артикул и о опля находим какой надо.
Также и с фаллоимитаторами
![]()
JBZoo чат /
Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке
#7
Posted 21 June 2016 - 18:21
А в чем сложность? К стандартному поиску в админке надо добавить артикульную таблицу #__zoo_jbzoo_sku
#8
Posted 24 June 2016 - 10:38
А в чем сложность? К стандартному поиску в админке надо добавить артикульную таблицу #__zoo_jbzoo_sku
Уважаемый если я хотел видеть в админке стандартную опцию (удобства расширения)то я должен заплатить ,я правильно понимаю?
#9
Posted 24 June 2016 - 11:29
Уважаемый если я хотел видеть в админке стандартную опцию (удобства расширения)то я должен заплатить ,я правильно понимаю?
в админке стандартную опцию
Стандартные есть уже в коробке - а sku (артикул) - не стандарт, ее нет в коробке - поэтому надо править код и делать запрос в БД.
Вы можете не платить и самостоятельно сделать - добавив запрос к таблице в выборку.
JBZoo чат /
Разработка Joomla расширений и т.д.! / Рекомендую хостинг Joomla
Joomla расширение для Яндекс Турбо и Яндекс Дзен - помощь в настройке
#10
Posted 19 August 2016 - 09:07
Необходим поиск в админ. панели по элементу цены -> артикулкак реализовать?
У меня кривенько, но получилось. Нужно было тоже в админке искать по артикулу.
\administrator\components\com_zoo\config.php
добавляем
define('ZOO_TABLE_SKU', '#__zoo_jbzoo_sku');
рядом с другими определениями таблиц.
administrator\components\com_zoo\controllers\item.php
вместо
if ($search) {
$from .= ' LEFT JOIN '.ZOO_TABLE_TAG.' AS t ON a.id = t.item_id';
$where[] = '(LOWER(a.name) LIKE '.$this->db->Quote('%'.$this->db->escape($search, true).'%', false)
. ' OR LOWER(t.name) LIKE '.$this->db->Quote('%'.$this->db->escape($search, true).'%', false)
. ' OR LOWER(a.alias) LIKE '.$this->db->Quote('%'.$this->db->escape($search, true).'%', false) . ')';
}
if ($search) {
$from .= ' LEFT JOIN '.ZOO_TABLE_SKU.' AS t ON a.id = t.item_id';
$where[] = '(LOWER(a.name) LIKE '.$this->db->Quote('%'.$this->db->escape($search, true).'%', false)
. ' OR LOWER(t.value_s) LIKE '.$this->db->Quote('%'.$this->db->escape($search, true).'%', false)
. ' OR LOWER(a.alias) LIKE '.$this->db->Quote('%'.$this->db->escape($search, true).'%', false) . ')';
$where[] = 't.param_id = \'_sku\'';
}
Таким образом я просто убрал из поиска таблицу тэгов ( я ее не использую) и начал поиск по таблице артикулов. Лучше забивать хотя бы три символа. Если нужно и тэги оставить то потребуется дописать запрос, мне было лениво. Если есть способ получше - выкладывайте ![]()
Edited by fromsk, 19 August 2016 - 09:32.


This topic is locked








