Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

vladster

Новичок
  
  • Публикаций

    28
  • Зарегистрирован

  • Посещение

Информация

  • Пол
    Не определился

Посетители профиля

2 019 просмотров профиля

Достижения vladster

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Последние медали

-1

Репутация

  1. Скажите пожалуйста, а geoip с ним функционирует нормально? И починили ли неполадки с filter pro?
  2. А у вас geoip не выводит никаких геосообщений, помимо названия города в шапке? Опцию вывода города через аякс в новой версии модуля увидел, но вопрос - другие геосообщения он будет выводить через аякс или нет? У меня, например, на карточке товара авторасчет доставки в зависимости от города отображается.
  3. Я конечно не проверял Boost в работе, но на демо админки вижу, что вроде бы он позволяет загружать произвольные модули аяксом, а остальную страницу из кэша. То есть по идее должна обеспечиваться их (модулей) функциональность. А geoip - это тоже таки модуль))) Вообще лучше конечно прямо спросить разработчика в теме поддержки Boost, сработается ли он с geoip.
  4. Не знаю, сам не тестировал, код не видел, принципа не знаю.И вряд ли автор даст потестить забесплатно)) В любом случае, если у вас сложная навороченная тема с множеством прикрученных модулей, то любой модуль приходится допиливать руками. Где-то сильнее, где-то слабее. Я не помню еще ни одного, который прям вот взял и заработал как надо после распаковки. И даже если в модуле нет косяков либо конфликтов с другими модулями, то его все равно приходится индивидуализировать под нужды и структуру данных определенного магазина. Думаю, и этот не будет исключением))
  5. у вас немного другой код - возможно, другая версия модуля. Вот это $where = "(f1.offname LIKE '%" . $this->db->escape(utf8_strtolower($parts[0])) . "%' AND (f2.offname LIKE '%" . $this->db->escape(utf8_strtolower($parts[1])) . "%' OR f3.offname LIKE '%" . $this->db->escape(utf8_strtolower($parts[1])) . "%')) OR (f1.offname LIKE '%" . $escaped_term . "%')"; замените на вот это $where = "(f1.offname LIKE '" . $this->db->escape(utf8_strtolower($parts[0])) . "%' AND (f2.offname LIKE '" . $this->db->escape(utf8_strtolower($parts[1])) . "%' OR f3.offname LIKE '" . $this->db->escape(utf8_strtolower($parts[1])) . "%')) OR (f1.offname LIKE '" . $escaped_term . "%')";
  6. А, тогда конечно. Попробуйте модуль turbocache, у меня работает. Производительность существенно возросла с ним. Он кэширует выдачу самых жрущих ресурсы запросов к БД - в первую очередь в функции getProducts. Конечно, это не кэширование всей страницы целиком, но зато не конфликтует с GeoIP. И будем надеяться, что MaxD все же помирит свой модуль с geoip, ну или даст помирить другим))) Кстати, если вы пользуетесь geoip, посмотрите в теме его обсуждения (в конце) - я там написал одно маленькое исправление в модуль, которое в 500 раз ускоряет запрос к БД, когда пользователь вводит свой город в поисковую строку.
  7. Я, честно говоря, в вашем случае не совсем понимаю, зачем нужен модуль кэширования вообще)) у вас очень легкая тема, мало доп.модулей, мало товаров - опенкарт из коробки должен летать))
  8. Смотрю, у Моны Лизы как раз конфликт с модулем geoip. Что-то мне подсказывает, что если вы ориентируете модуль на Россию - то хорошо бы с ним все же конфликты уладить.... он же стоит в доброй половине магазинов. Половину продаж можно потерять, если их не помирить)) Посмотрел код системных библиотек - минифицирован и потому трудночитаем, плюс идут запросы на сервер приложения, видимо часть обработки идет там. Поковырял бы сам, но тут не получится, к сожалению (
  9. Да, надо просто заменить строки с 9 по 14 на эти. Вы их увидите в файле, они почти такие же, отличаются только отсутствием первого знака % в запросах LIKE. Можете просто сами руками их удалить и проверить в phpmyadmin, как сработают вариант с первым % и без него.
  10. Однако корзина же добавляется. Значит, таким же образом можно добавить и данные geoip, на мой взгляд, нет? GeoIP пишет в куку значение fias_id - это внутренний индекс населенного пункта. Дополнительно можно так же записать в куку и всю сопутствующую информацию, которая выводится модулем geoip на все страницы (название города и геосообщения). И потом эту инфу читать из куки и добавлять в переменные блоки на кэшированной странице. То есть один раз запустить опенкарт при изменении пользователем города, а затем благополучно отдавать кэш. Да, автоматическое определение при этом по-прежнему работать не будет, но мне кажется это не мегакритично. Либо программа максимум - прикрутить собственный скрипт автоопределения города к отдаваемой странице без запуска движка опенкарт, на основе того же модуля geoip слегка переделанного. При оформлении заказа опенкарт будет благополучно читать геоинформацию для simple из куки, которую можно так же поставить. Не копался в коде вашего модуля, так что пока это только теоретические измышления))
  11. По оптимизации запроса к БД: нужно убрать первый % из запросов SELECT LIKE в поиске города. В этом случае при вводе в поисковую строку "омс" в выпадающем списке отражаются только те города и области, название которых начинается с "омс", а не все 100500 названий, содержащих это слово в середине. Запрос при этом происходит раз в 400-500 быстрее (0,0016 сек против 0,71 сек). Юзабилити также существенно повышается - юзер видит в выпадающем списке самые релевантные названия городов. Пример: если мы живем в Омске и вводим "омс", то нам совсем не нужно, чтобы выпадал Томск и какой-нибудь Закотомск)) Файл: /catalog/model/module/geoip.php Строки для замены: с 9 по 14 if (isset($parts[1])) { $where .= "(f1.offname LIKE '" . $this->db->escape(utf8_strtolower($parts[0])) . "%' AND (f2.offname LIKE '" . $this->db->escape(utf8_strtolower($parts[1])) . "%' OR f3.offname LIKE '" . $this->db->escape(utf8_strtolower($parts[1])) . "%')) OR ";//убрал % в начале LIKE } $where .= "(f1.offname LIKE '" . $this->db->escape(utf8_strtolower($term)) . "%')";//убрал % в начале LIKE
  12. Добрый день! Скажите пожалуйста, возможно ли как-то оптимизировать запросы к БД в этом модуле? Сейчас первый запрос после перезагрузки сервера занимает почти 6 секунд, последующие - в районе 0,5 секунды, что тоже очень много. Запросы тестировал непосредственно в phpmyadmin.
  13. Товарищи, а только у меня модуль выдает статистику исключительно в админке? Там она как бы не нужна)))
  14. Добрый день! Ищу специалиста по ускорению загрузки магазина на opencart 1.5.6.4. На магазин установлена нагруженная кастомная тема, плюс много модулей. Есть подозрение, что одни и те же запросы выполняются многократно. В результате чего время до первого байта по webpagetest составляет около 5 секунд при том, что в магазине всего 2000 товаров. Надо поковырять установленные модули и найти, где зарыта(ы) собака(и). Плюс возможно установить одно из решений по ускорению сайта типа https://opencartforum.com/topic/42017-opencart-lightning/ (в данный момент установлено, но не работает). Модули кэширования устанавливались, не помогло. gzip работает. Перенос на VDS дал выигрыш всего на 0,3-0,5 сек, то есть не в скорости сервера дело. Магазин почти не получает трафика сейчас (реклама остановлена), то есть проблема и не в нагруженности. Требуется сократить время до первого байта до 0,5 сек. Думаю, с учетом небольшого количества товаров и категорий это вполне реально. Ваши предложения?
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.