Jump to content

Dmitry86

Пользователь
  • Content Count

    170
  • Joined

  • Last visited

Everything posted by Dmitry86

  1. Извините, не знаю, как ещё объяснить... Вроде, с примерами написал, что хотел бы увидеть.. Давайте по-другому попробую: живой поиск должен искать только буквы и цифры при наборе текста в строке поиска. Вводимые пользователем символы "пробел" и "тире" он должен игнорировать.
  2. Видимо его я имею ввиду, потому что интересует именно та часть, когда при вводе в строку поиска выпадают предложения с найденным товарами. Если я правильно понимаю, то эта часть относится к JS. В живом поиске можно не учитывать вводимые пробелы? То есть, независимо от того, как указано в названии товара, допустим 'AB30' или 'AB 30' или 'A B-30', то его можно найти даже указав с пробелами, без тире, или с тире в другом месте, например: 'AB 30' или 'A B30', или хоть 'A B-3 0'.
  3. Благодарю за ответ. Тут чисто технически, скорее всего, проще убирать все пробелы из названия товара при выборке и из строки поиска, и потом сравнивать их. Разве в этом случае я не получу желаемый результат? Независимо от того, что введет пользователь в строку поиска, с пробелом или без, нужно ему показать тот товар, у которого в названии есть вхождение искомого запроса с пробелами или без оных. Не важно, что имел ввиду пользователь, важно, чтобы набор этих символов был найден в названии товара, ведь 'abc defgh' и 'ab cdefgh', ведь, с точки зрения машины, будет = abcdefgh, если в названи
  4. Добрый день! Подскажите, как сделать, чтобы в поиске не учитывались пробел(ы) и тире? Например, есть товар, в котором сдержится название модели AB 30 с пробелом. Если в поиске забивать AB30 без пробела, то он не показывает этот товар сразу. То есть чтобы найти нужные товары нужно задать поиск именно с пробелом. И обратная ситуация, когда в названии товара может быть указано AB30 без пробела, а пользователь скопировал с другого сайта с пробелом и пытается найти этот товар. Получается он вставил в строку поиска или набрал руками AB 30 и не находит товар, хотя он есть. Аналогично с
  5. Архив битый, не распаковывается.... Можете залить заново? Заранее благодарю.
  6. Добрый день. Почему-то не во всех темах можно оставить ответ, просто нет поля для ответа. Вот такого: https://ibb.co/L10rY2r
  7. Сейчас у меня выглядит код вот так: // Выгружаем все товары, даже если у товара не установлен чекбокс выгрузки в xml $export_flag = isset($_GET['all']) ? '': ' AND v.exportable=1 '; $utm_flag = isset($_GET['ads_source']) ? 'utm_source='.$_GET['ads_source'].'&utm_term=': ''; // Исключаем ненужные категории для смарт-баннеров Яндекса $exclude_categories = isset($_GET['exclude_categories']) ? ' AND pc.category_id NOT IN ('.$_GET['exclude_categories'].') ': ''; $brand_ids = isset($_GET['$brand_ids']) ? ' AND p.brand_id IN ('.$_GET['brand_ids'].') ': ''; $simpla->db->query("SELECT
  8. Я пробовал так: $simpla->db->query("SELECT DISTINCT pc.category_id FROM s_variants v LEFT JOIN s_products p ON v.product_id=p.id LEFT JOIN s_products_categories pc ON p.id = pc.product_id AND pc.position=(SELECT MIN(position) FROM s_products_categories WHERE product_id=p.id LIMIT 1) WHERE p.visible AND p.brand_id IN (1,5,24) $exclude_categories AND (v.stock >0 OR v.stock is NULL) $export_flag GROUP BY v.id ORDER BY p.id "); но не получается..
  9. Добрый день! Есть необходимость GET-запросом выбирать товары определенных брендов в YML по id бренда, например: site.ru/yandex.php?brand_id=1,5,24 В моём yandex.php уже есть код, в котором я делаю некоторые выборки через GET: $export_flag = isset($_GET['all']) ? '': ' AND v.exportable=1 '; $utm_flag = isset($_GET['ads_source']) ? 'utm_source='.$_GET['ads_source'].'&utm_term=': ''; $exclude_categories = isset($_GET['exclude_categories']) ? ' AND pc.category_id NOT IN ('.$_GET['exclude_categories'].') ': ''; $simpla->db->query("SELECT DISTINCT pc.category_id FROM s_variants v L
  10. Сталкивался. Проблема ломаных описаний у меня возникала по причине присутствия переносов и разрывов строк. Я их убираю запросом в базу: UPDATE s_products SET annotation = REPLACE(annotation, '\r\n', ''); UPDATE s_products SET body = REPLACE(body, '\r\n', ''); Затем выгружаю как обычно в CSV и делаю в Экселе импорт данных из текста. Столбцу с артикулами необходимо выставить тип поля "Текстовый" перед импортом. Тогда все нули спереди сохраняются и разрывов в описаниях нет. Попробуйте.
  11. Оставлю здесь, если кто столкнулся с проблемами при отправке писем через SSL на Swift. Вчера утром у меня перестали отправляться письма, анализ логов показал следующую ошибку: PHP Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.yandex.ru [ #0]' Решение в моём случае оказалось следующим: сразу после $transport = Swift_SmtpTransport::newInstance('smtp.yandex.ru', 465, 'ssl') ->setUsername('my@example.com') ->setPassword('password'); добавляем: $transport->setStreamOptions(array('ssl' => array('allow_s
  12. Добрый день! Что-то не нашел в поиске похожего, но может кто делал и сможет помочь: нужно в админке в правом столбце рядом с Метками сделать ссылку для отбора заказов, у которых статус оплаты = 0, то есть не оплаченные. Заранее благодарю за помощь!
  13. Народ, подскажите, пожалуйста, как округлить купон, который считается в процентах? Например, сумма в корзине 199329 руб., купон на 3% получается после оформления на 5979.87 руб. Как округлять его до целого? В каком файле? Спасибо!
  14. Разобрался. Сделал немного иначе. в файле View.php после self::$view_instance = $this; вставил if (!empty($_SERVER['HTTP_X_REAL_IP'])) { $client_ip = $_SERVER['HTTP_X_REAL_IP']; } elseif (!empty($_SERVER['HTTP_CLIENT_IP'])) { $client_ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $client_ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $client_ip = $_SERVER['REMOTE_ADDR']; } if(filter_var($client_ip, FILTER_VALIDATE_IP)) $this->current_ip = $
  15. Спасибо за отличное решение! Только не получается вывести {$city} в шаблон.. Пытаюсь вывести в product.tpl В IndexView.php сделал как указано. После: $this->design->assign('module', $module); вставил: // Определение города посетителя по IP $client = @$_SERVER['HTTP_CLIENT_IP']; $forward = @$_SERVER['HTTP_X_FORWARDED_FOR']; $remote = @$_SERVER['REMOTE_ADDR']; if(filter_var($client, FILTER_VALIDATE_IP)) $ip = $client; elseif (filter_var($forward, FILTER_VALIDATE_IP)) $ip = $forward; else $ip = $remote; include("SxGeo/SxGeo.php"); $SxGeo = new SxGeo('SxGe
  16. Задал вопросы хостеру: 1. Насколько скорость подключаемых SSD дисков отличается от скорости диска самого VDS? 2. Подходит ли этот диск для хранения изображений, которые оперативно отдаются при загрузке страницы сайта? Не будет ли тормозов? Или эти диски подходят только для хранения бэкапов и всяких редко используемых статических файлов? 3. Доступны ли эти диски 24/7? Хостер ответил: 1. Не отличается. Скорость такая же. 2. Это точно такой же накопитель, как и любой другой у нас на серверах. 3. Да, они доступны всегда. Так что можно рассматривать и для оперативного контента тоже.
  17. Спасибо за совет, поинтересуюсь у хостера на эту тему. Но я бы всё равно использовал такой диск хотя бы для хранения редко используемых файлов, типа инструкций к товарам и оригиналов изображений, которые по сути используются только для создания ресайзов.
  18. files_backup делать с проверкой лично для меня необязательно, т.к. я хотел бы прикрутить диск от хостера и ежедневно бэкапить его. Хотя бы решить вопрос, как прикрутить этот диск к Симпле и переместить туда папку files со всеми вытекающими.
  19. Понял, спасибо. Попробую поискать решение, но тут вопрос тоже оставляю пока открытым)
  20. Благодарю за ответ! Проблемы подключить диск и правда нет, меня как раз больше интересует процесс переноса папки files на него, корректно ли работает Simpla, если после подключения нового диска просто поменять пути до папки files в config/config.php Кстати, не совсем понял, почему у вас config.php находится в папке api... Если вы прописывали новые пути в config.php - можете ли скинуть строчку с путём, чтобы понять как прописано у вас, если у вас всё работает. Спасибо!
  21. Всем привет! Подскажите, пожалуйста, кто-нибудь заморачивался подобным, есть опыт с Simpla? Вопрос возник по причине того, что не хочу переходить на следующий тариф у хостера, а создать и прикрутить дополнительный диск к серверу - значительно дешевле. На него я бы перекинул все статические файлы, то есть папку files со всеми оригинальными изображениями, ресайзами и другими файлами типа инструкций к товарам и.д.. Спасибо.
  22. Ребят, прошу помощи. В api/Products.php есть функции для добавления видео в карточке товара (сделаны по типу связанных товаров, только вместо товаров добавляются url на ютуб): function get_videos($filter = array()) { $product_id_filter = ''; if(!empty($filter['product_id'])) $product_id_filter = $this->db->placehold('AND v.product_id in(?@)', (array)$filter['product_id']); $query = $this->db->placehold("SELECT v.product_id, v.url, v.position FROM __videos AS v WHERE 1 $product_id_filter ORDER BY v.produc
  23. Тогда вот инструкция, как сделать галочку "Уценка" на всю карточку товара (то есть для всех вариантов сразу) https://simplashop.com/article/simpla-21-dopolnitelnye-chekboksy-v-tovare Для удобства поменяйте везде is_new на utsenka, например. Затем в yandex.php if($p->utsenka){ print "<condition type="likenew"> <reason>Повреждена упаковка</reason> </condition>"; } Только в данном случае с чекбоксом у вас всегда будет один и тот же <reason>. Если хотите делать разный <reason> для разных товаров - то надо добавлять текстовое поле к товару или
×
×
  • Create New...