Kasha Опубликовано 21 апреля, 2013 Жалоба Поделиться Опубликовано 21 апреля, 2013 Товарищ попросил сделать поиск по артикулу в добавлении связанных товаров: http://seolike.ru/files/images/findart.jpg Ищем файлик simpla/ajax/search_products.php UPD: Если у вас не изменялся поиск - можно просто заменить этот файл на файл из аттача (см. нижний пост). Если меняли или вы не уверены тогда смотрите ниже. находим код $simpla->db->query('SELECT p.id, p.name, i.filename as image FROM __products p LEFT JOIN __images i ON i.product_id=p.id AND i.position=(SELECT MIN(position) FROM __images WHERE product_id=p.id LIMIT 1) WHERE p.name LIKE "%'.mysql_real_escape_string($keyword).'%" ORDER BY p.name LIMIT ?', $limit); $products = $simpla->db->results(); меняем на $simpla->db->query('SELECT p.id, p.name, i.filename as image, v.sku as sku FROM __products p LEFT JOIN __images i ON i.product_id=p.id AND i.position=(SELECT MIN(position) FROM __images WHERE product_id=p.id LIMIT 1) LEFT JOIN __variants v ON v.product_id=p.id WHERE (p.name LIKE "%'.mysql_real_escape_string($keyword).'%") OR (v.sku LIKE "%'.mysql_real_escape_string($keyword).'%") ORDER BY p.name LIMIT ?', $limit); $products = $simpla->db->results(); далее ищем if(!empty($product->image)) { $product->image = $simpla->design->resize_modifier($product->image, 35, 35); $products_names[] = $product->name; } else $products_names[] = $product->name; и меняем на if(!empty($product->image)) { $product->image = $simpla->design->resize_modifier($product->image, 35, 35); $products_names[] = $product->name . ' ('.$product->sku.')'; } else $products_names[] = $product->name . ' ('.$product->sku.')'; Получаем то что на скрине Кому пригодилось - ставим лайки, говорим спасибо и пересылаем ЯД на кошелёк search_products.php Цитата Ссылка на сообщение Поделиться на другие сайты
osben Опубликовано 21 апреля, 2013 Жалоба Поделиться Опубликовано 21 апреля, 2013 Для красоты рекомендую еще сделать проверку на присутствие артикула , что бы не было название товара () Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 21 апреля, 2013 Автор Жалоба Поделиться Опубликовано 21 апреля, 2013 в таком случае заменяем второй код на следующий: if(!empty($product->image)) { $product->image = $simpla->design->resize_modifier($product->image, 35, 35); if(!empty($product->sku)) $products_names[] = $product->name . ' ('.$product->sku.')'; else $products_names[] = $product->name; } else if(!empty($product->sku)) $products_names[] = $product->name . ' ('.$product->sku.')'; else $products_names[] = $product->name; обновленный аттач в первом сообщении темы Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 21 апреля, 2013 Автор Жалоба Поделиться Опубликовано 21 апреля, 2013 Поправил баг с отображением первого варианта, теперь выводяться все возможные (для удобства поиска). Обновите у себя. Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 23 апреля, 2013 Жалоба Поделиться Опубликовано 23 апреля, 2013 Спасибо!! Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 23 апреля, 2013 Жалоба Поделиться Опубликовано 23 апреля, 2013 Sheeft Спасибо! Подскажите пожалуйста, если в некоторых товара артикул одинаковый, а варианты разные, как можно добавить ещё название варианта? Получается, что отображает варианты: Диск ведомый ВАЗ (4363) Диск ведомый ВАЗ (4363) Диск ведомый ВАЗ (4363) Диск ведомый ГАЗ (555) Диск ведомый ГАЗ (666) Диск ведомый ГАЗ (777) А нужно вот так: Диск ведомый ВАЗ - 13 (4363) Диск ведомый ВАЗ - 14 (4363) Диск ведомый ВАЗ - 15 (4363) Диск ведомый ГАЗ - 13 (555) Диск ведомый ГАЗ - 14 (666) Диск ведомый ГАЗ - 15 (777) или вот так Диск ведомый ВАЗ - 13 (4363) Диск ведомый ВАЗ - 14 (4363) Диск ведомый ВАЗ - 15 (4363) Диск ведомый ГАЗ - 13 (555) Диск ведомый ГАЗ - 14 (666) Диск ведомый ГАЗ - 15 (777) Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 23 апреля, 2013 Автор Жалоба Поделиться Опубликовано 23 апреля, 2013 В первой замене где v.sku as sku FROM __products p нужно дописать v.sku as sku, v.name as varname FROM __products p и во второй замене два раза заменить $products_names[] = $product->name . ' ('.$product->sku.')'; на $products_names[] = $product->name . ' - '.$product->varname.' ('.$product->sku.')'; Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 спасибо огромное! Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 В первой замене где v.sku as sku FROM __products p нужно дописать v.sku as sku, v.name as varname FROM __products p и во второй замене два раза заменить $products_names[] = $product->name . ' ('.$product->sku.')'; на $products_names[] = $product->name . ' - '.$product->varname.' ('.$product->sku.')'; Странно, но ничего не изменилось ни в админке, ни в клиентской части... Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 24 апреля, 2013 Автор Жалоба Поделиться Опубликовано 24 апреля, 2013 Прикрепляйте файлы, я не экстрасенс :-) Цитата Ссылка на сообщение Поделиться на другие сайты
Danya Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 а причём тут клиентская часть?тут идёт речь об админской части для связанных товаров. Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 24 апреля, 2013 Автор Жалоба Поделиться Опубликовано 24 апреля, 2013 Дык этот допил работает и для поиска по сайту если изменить файл search_products.php в корне(корень/ajax/search_products.php, а не в simpla/ajax) Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 25 апреля, 2013 Жалоба Поделиться Опубликовано 25 апреля, 2013 Дык этот допил работает и для поиска по сайту если изменить файл search_products.php в корне(корень/ajax/search_products.php, а не в simpla/ajax)Всё работает, спасибо! Видимо, я где-то ошибся в коде, либо не тот файл закинул на сервер (куча бэкапов в разных вариациях)...Ещё раз спасибо, очень пригодилось. В клиентской части ищет просто замечательно, как и в админке. Цитата Ссылка на сообщение Поделиться на другие сайты
dpdp Опубликовано 6 июня, 2013 Жалоба Поделиться Опубликовано 6 июня, 2013 Да, работает, спасибо. Чтобы по всему сайту работало из /ajax/ изменил в начале файла chdir('../..'); на chdir('..'); Появился маленький вопрос, который висел давно в памяти: Как изменить ширину этого выпадающего списка, чтобы он стал шире чем сама строка поиска? А то глупо получается как-то выглядит... Спасибо-спасибо! Цитата Ссылка на сообщение Поделиться на другие сайты
neo-2000 Опубликовано 22 июня, 2013 Жалоба Поделиться Опубликовано 22 июня, 2013 поиск работает суппер, но, перестали работать связанные товары, вообще ни какой товар не могу добавить, как поправить? помогите плизз. Цитата Ссылка на сообщение Поделиться на другие сайты
tsybart Опубликовано 25 сентября, 2014 Жалоба Поделиться Опубликовано 25 сентября, 2014 Simpla 2.1.5 не работает Цитата Ссылка на сообщение Поделиться на другие сайты
tsybart Опубликовано 25 сентября, 2014 Жалоба Поделиться Опубликовано 25 сентября, 2014 но пойму из-за количества товаров, - Resource Limit Is Reached Цитата Ссылка на сообщение Поделиться на другие сайты
tsybart Опубликовано 25 сентября, 2014 Жалоба Поделиться Опубликовано 25 сентября, 2014 если ждать секунд 20 то находит проблема в хостинге? Цитата Ссылка на сообщение Поделиться на другие сайты
tsybart Опубликовано 26 сентября, 2014 Жалоба Поделиться Опубликовано 26 сентября, 2014 кто переносил такой поиск из новой версии на 2.1.5? Цитата Ссылка на сообщение Поделиться на другие сайты
Skynet Опубликовано 28 октября, 2016 Жалоба Поделиться Опубликовано 28 октября, 2016 Версия Simpla 2.0.2 Подскажите пожалуйста, как сделать поиск по артикулу в админке в форме поиска? Цитата Ссылка на сообщение Поделиться на другие сайты
Skynet Опубликовано 30 октября, 2016 Жалоба Поделиться Опубликовано 30 октября, 2016 Знающие люди, подскажите пожалуйста. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.