Лидеры
Популярный контент
Показан контент с высокой репутацией 12.06.2022 во всех областях
-
Пакет скидок, акции, цены - HYPER DISCOUNT PACKAGE Добавил HyperLabTeam Добавлено 27.03.2022 Категория Цены, Скидки, Акции , Программы лояльности Просмотр файла1 балл
-
Версия 3.2.0
17 раз скачали
Продажи временно приостановлены по инициативе автора, т.к. автору выплаты не производятся без объяснения. Покупайте на альтернативных площадках. Позволяет в автоматическом режиме создавать и выводить изображения в формате WEBP согласно рекомендациям гугла. Есть режим создания WEBP в фоновом режиме (через cron), что способствует равномерной нагрузке сервера и отсутствию тормозов страниц при создании изображений WEBP. Есть водяной знак с максимально удобными настройками положения (включая поворот), геометрических размеров, прозрачности. Можно включить защиту исходников (без водяного знака) от скачивания. Есть самый продвинутый Lazy Load в нескольких вариантах. Прописывание в коде HTML геометрических размеров изображений как рекомендует гугл для ускорения загрузки и отображения страниц. Настройка режима создания/добавления (или запрета создания) белых полей к изображению. И многое многое другое, что может понадобиться для настройки изображений. Демо 2 (клиентская часть): https://watermark.sitecreator.pro Демо 2 (админка): https://watermark.sitecreator.pro/admin/index.php?route=extension/module/watermark_by_sitecreator пользователь: DEMO пароль: DEMO (убедительная просьба переходить по полной ссылке, а не пытаться просто зайти в админку демки, т.к. у вас не будет доступа ко всей админке) требования: php 5.6+ (5.6, 7.0, 7.1, 7.2, 7.3, 7.4) Ioncube Loader (версия 10+ обязательна). Проверено на: 10, 11, 12. Найден способ обхода бага в ioncube loader 12 (баг исправлен в 12.0.4) и обеспечена стабильная работа модуля 5.0.0 версии (и выше) . в ioncube loader 12.0.4 исправлена ошибка, а потому модуль версии 3.2.0 работает также без проблем Описание установки и настройки модуля Image COMPRESSOR & Watermark & WebP & Lazy Load etc. by Sitecreator Просьба обратить внимание до установки модуля на то, не изменен ли код напрямую (или за счет модификаторов) в файлах: system/library/image.php, catalog/tool/image.php, admin/tool/image.php. Не гарантируется выполнение всех функций модуля и нормальная работа если у вас в движке были сделаны прямые (или за счет модификаторов) изменения кода указанных выше файлов. Желательно чтобы эти файлы были такими же как в дистрибутиве движка. В случае изменения кода указанных выше файлов может потребоваться дополнительная адаптация и/или модификация кода, это необходимо обсуждать отдельно, как правило, это платная работа. Модуль рассчитан для работы в первую очередь со стандартным движком. Автор не берет на себя никакую ответственность за работу на нестандартном движке. Для работы с фоном исходных изображений (обрезка лишнего фона на исходниках) необходима дополнительная лицензия для работы соответствующего дополнительного плагина к модулю Компрессор. Автор не может гарантировать совместимость модуля со всеми на свете другими модулями и/или шаблонами (для опенкарт), которые могли быть установлены до установки модуля "Image COMPRESSOR..." или могут быть установлены в будущем. Но автор прилагает все необходимые усилия, чтобы обеспечить максимальную совместимость с популярными и известными шаблонами и модулями. Кстати, ни один автор никогда не берет на себя ответственности по совместимости со всеми модулями других авторов. В случае любых спорных вопросов автор готов продемонстрировать работу своего модуля на сервере заказчика на стандартном опенкарт (т.е. это опенкарт без изменения кода, без добавления чего-либо, что отсутствует в стандартном) из официального дистрибутива, для этого может быть использован тот же домен, для которого запрашивалась лицензия при покупке, или может быть использован тестовый домен (например, поддомен для домена, для которого покупалась лицензия) Перенос лицензии (на др. домен) или отмена лицензии ("возврат покупки") после ее предоставления покупателю невозможны чисто технически. Корректная работа модуля и совместимость гарантируются только в случае использования официальных дистрибутивов opencart, ocstore или "русская сборка". Решение вопросов совместимости и адаптация в случае использования нестандартного/измененного кода движка опенкарт возможно на платной основе. С правовой точки зрения существует единственный официальный источник дистрибутивов опенкарт: https://www.opencart.com/index.php?route=cms/download/history В случае любых спорных вопросов и решения их в правовом поле данный источник дистрибутивов рассматривается как единственный. Де факто автор может заявлять совместимость и с разными сборками на основе опенкарт. Но с юридической точки зрения статус таких сборок никак не определен, а потому нет возможности определить их "официальность" и "правильность". Различные сборки на основе опенкарт формально не могут являться официальными дистрибутивами. На данный момент, например, дистрибутивы ocstore не доступны для скачивания гражданам и организациям РФ и РБ, сайт и форум этой сборки недоступны из РФ, другими словами, предприняты шаги хозяевами указанной сборки для невозможности использования данной сборки в РФ, поэтому автор модуля не имеет возможности следить за изменениями в данной сборке. Фактически до версии ocstore 3.0.3.7 автор модуля обеспечивал совместимость всех своих модулей с данной сборкой.2 900 ₽1 балл -
Веб сервер nginx позволяет работать в разных режимах, как с использованием интерпретатора php, так и без. Для работы OpenCart лучше выбирать оптимальный режим работы php-fpm. Многих данный режим пугает тем, что в данном случае файл htaccess напрочь игнорируется и все необходимые настройки нужно вносить в конфиг nginx. Но в этом нет ничего сверх сложного. Конфигурационный файл - это обычный текстовый файл на сервере, который подчиняется определённым правилам. И по данному поводу можно найти много готовых описаний и инструкций. Данная статья не претендует на уникальность, а просто представляет краткую выжимку по настройкам, учитывая особенности работы с движком OpenCart и сборками на его основе. Для удобства будут приводится примеры настройки с использованием панели ISPmanager. Основные настройки будут касаться секции location, и зависимость описания от используемой панели будет минимальной. Для начала переведём nginx в режим работы php-fpm. Для этого в панели сделаем следующие настройки разделе WWW-домены для нужного сайта: 1. Выбираем в списке нужный сайт, если их несколько, и жмём кнопку "Изменить". 2. Находим настройки PHP и настраиваем следующим образом: Обратите внимание, что версия php у вас может отличаться. При необходимости, можно эту версию изменить на нужную, но этот вопрос выходит за рамки данной статьи. После сохранения настроек будет работать почти всё, что и раньше. Если в настройках OpenCart отключены ЧПУ ссылки, то всё будет работать, как и работало до переключения режима работы. Теперь можно приступать к непосредственной настройке самого конфигурационного файла nginx для текущего сайта. Для этого в списке www доменов находим нужный нам и нажимаем справа на иконку с тремя точками. В выпадающем меню выбираем пункт "Конфиг": Вот примерный конфигурационный файл, который будет создан у вас по умолчанию: В конфигурации у вас будет две секции server, если у вас включено защищённое соединение SSL (и оно должно быть обязательно включено). Если у вас включен принудительный редирект с http на https, то можно редактировать только секцию server для https. Определить её легко: в самом начале есть параметр с указанием сертификата ssl_certificate. Также в этой секции указан параметр listen с указанием порта 443: listen 8.8.8.8:443 ssl Но лучше делать настройки сразу в двух секциях server, чтобы не допустить механической ошибки. На данный момент нас интересует вот эта часть конфигурационного файла: location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { expires 365d; } } Все дальнейшие изменения мы будем вносить внутри этой секции "location /". В первую очередь нам не хватает вот такой директивы: if (!-e $request_filename){ rewrite ^/(.+)$ /index.php?_route_=$1 last; } Данное условие очень простое: если сервер не может найти файл по указанному в запросе пути, то запрос будет переписан на вызов index.php, а в параметр _route_ будет передан запрашиваемый путь. Именно это и позволит корректно отрабатывать всем ЧПУ ссылкам движка. Это правило является аналогом записи в файле htaccess: RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] На этом можно было бы и закончить, но стоит внести ещё некоторые изменения для улучшения безопасности. Рассмотрим более внимательно вот эту секцию: location ~ [^/]\.ph(p\d*|tml)$ { Тут отбираются все все подходящие динамические файлы с типами .php (в том числе с числами в окончании) и .phtml Но у движка OpenCart в штатном режиме есть всего две точки входа для вызова php файлов через web окружение - это index.php и admin/index.php Есть ещё install/index.php, но она используется только при установке движка. Учитывая данные обстоятельства, логично запретить прямое выполнение всех остальных php скриптов через web окружение, кроме указанных администратором. Сделать это можно следующим образом: location ~ ^/(index|admin/index|install/index)\.php { try_files /does_not_exists @php; } В скобках через разделитель "|" указываем все php скрипты, которые можно выполнять. После завершения установки можно будет сократить это список до такого: (index|admin/index) ВНИМАНИЕ!!! Очень важный момент! После того, как убрали вызов интерпретатора php для всех файлов, кроме указанных, при попытке запроса любого другого php файла он будет отдан как обычный текстовый файл. И при запросе https://test.ru/config.php любой желающий сможет получить содержимое вашего конфигурационного файла, где содержится доступ к БД. Поэтому нам обязательно нужно запретить доступ для всех остальных файлов с расширением php. Ну и заодно к другим типам файлов, которые не стоит отдавать по запросу извне. Сделать это можно простым правилом: location ~* \.(php|log|tpl|txt|twig|xml|ini)$ { deny all; } В скобках через разделитель "|" указываем все расширения файлов, которые мы хотим запретить. Но у нас есть несколько важных файлов, которые пока попали под запрет, например: robots.txt и sitemap.xml. Этот вопрос мы решим чуть позже. А сейчас ещё немного запретов. Запретим открывать файлы, которые начинаются с точки, а также все файлы в папке system: location ~ /\. { deny all; } location ~ ^/system/ { deny all; } Этих запретов вполне достаточно, чтобы сделать невозможным выполнение каких-либо несанкционированных скриптов. А также просмотр логов, текстовых и xml файлов. Теперь нам необходимо открыть доступ к файлу robots.txt, для этого нам нужно такое правило: location = /robots.txt { allow all; } Также пропишем разрешение на открытие sitemap.xml и rewrite правило: location = /sitemap.xml { allow all; rewrite ^/(.*)$ /index.php?route=extension/feed/google_sitemap last; } Если вы используете сторонний модуль сайтмапа, то нужно указать соответствующий route для данного модуля. Если у вас несколько файлов sitemap или вы используете фиды для выгрузки данных, то просто пропишите для них права по аналогии. В итоге мы должны получить вот такую секцию location: Этих настроек достаточно для корректной работы движка OpenCart. И при этом данная конфигурация является безопасной с точки зрения выполнения несанкционированных скриптов php через web окружение. После всех настроек обязательно проверьте правильность работы, сделав запросы по указанному чек-листу (test.ru замените на адрес вашего сайта): https://test.ru/config.php https://test.ru/admin/config.php https://test.ru/admin/1.php https://test.ru/admin/1.txt https://test.ru/admin/1.log https://test.ru/admin/1.xml https://test.ru/system/modification.xml Для всех этих ссылок вы должны получить ошибку "403 Forbidden", вне зависимости от того, есть файл по указанному пути на сервере, или нет. Также проверяем белый список: https://test.ru/robots.txt https://test.ru/sitemap.xml Эти файлы не должны вызывать ошибок и вы должны корректно получать их содержимое. Дополнительно стоит проверить все ваши дополнительные сайтмапы или фиды, если вы их добавляли. Ещё раз повторюсь, что данная настройка является базовой, с небольшими правилами для улучшения безопасности. Но даже уже при такой настройке вы в среднем получите выигрыш 100-200ms для параметра TTFB, по сравнению с остальными режимами работы.1 балл
-
Версия 3.0.5
323 раза скачали
Накопительные, Количественные, Комплектные, Опт цены, Акции и т.д. Аналогов у модуля нет! Более 22х вариантов мульти редактируемых скидок + массовые редакторы разных цен для групп покупателей / оптовые цены и массовый редактор акций с расширенным функционалом! !!! ВНИМАНИЕ !!! Все вопросы, касающиеся необходимых услуг и доработок, уточняйте перед покупкой!!! Все работы по установке, доработке, адаптациям и расширению функционала делаются только по предварительному согласованию! Сроки реализации - от 1-2 недель, по договоренности. Модуль работает согласно заложенному и описанному функционалу, читайте внимательно перед покупкой описание, документацию и смотрите демо! ВОЗМОЖНОСТИ МОДУЛЯ ЦЕНЫ + массовые редакторы Разные цены для групп покупателей Групповые цены Оптовые цены ПАКЕТ СКИДОК - массовые редакторы товары по акции скидка на количество конкретного товара скидка на количественный комплект товаров разных наименований скидка на товары определённой группы при выборе количества разных наименований товаров другой группы пользовательские скидки скидка для избранных покупателей гостевая скидка на первую покупку скидка на кол-во купленных товаров скидка на кол-во совершённых заказов скидка на общую сумму заказов скидка на кол-во купленных товаров или на кол-во совершённых заказов - при совпадении хотя бы одного значения скидка на кол-во совершённых заказов или на общую сумму заказов - при совпадении хотя бы одного значения скидка на кол-во купленных товаров или на общую сумму заказов - при совпадении хотя бы одного значения скидка на кол-во купленных товаров или на кол-во совершённых заказов или на общую сумму заказов - при совпадении хотя бы одного значения скидка на кол-во купленных товаров и на кол-во совершённых заказов - при совпадении всех значений скидка на кол-во купленных товаров и на общую сумму заказов - при совпадении всех значений скидка на кол-во совершённых заказов и на общую сумму заказов - при совпадении всех значений скидка на кол-во купленных товаров и на кол-во совершённых заказов и на общую сумму заказов - при совпадении всех значений скидка на кол-во товаров в корзине скидка на общую сумму в корзине скидка на общую сумму или кол-во товаров в корзине - при совпадении хотя бы одного значения скидка на общую сумму и кол-во товаров в корзине - при совпадении всех значений ИНСТРУМЕНТЫ периодичность запуска акций: всегда, каждые 2 недели и т.д запуск и приостановка по дням недели запуск и приостановка по времени суток расчет конечной стоимости от основной или закупочной цены по формуле округление конечной стоимости расчет конечной стоимости используя инструмент "формула" коррекция цены - рассчитывать скидку от основной цены или от групповых цен*** индивидуальные условия разграничения скидок от кол-ва и акций инструмент условий разграничения между наиболее выгодным вариантом скидок от кол-ва и акцией размеры скидки по типу %, фикс от товара или фикс от стоимости корзины дата по периоду начала и окончания дата учёта накопительных скидок на определённый период (при наличии заказов по определённой дате) редактор мульти-магазинов редактор гео-зон редактор зарегистрированных клиентов редактор группы покупателей расширенный редактор группы товаров с фильтрацией + память фильтрация товаров по АОП - по поставщикам, фильтрация товаров по производителям фильтрация товаров по категориям фильтрация товаров по цене от и до фильтрация товаров по количеству на складе от и до фильтрация товаров по производителям, категориям, поставщикам и цене одновременно. НАСТРОЙКИ И ДОПОЛНИТЕЛЬНЫЕ РЕДАКТОРЫ обновление акций и скидок по кнопке автоматическое обновление акций и скидок по заданию в CRON два условия пакета скидок - все скидки - сама выгодная условия глобального разграничения скидок от кол-ва товара и акций инструмент условий глобального разграничения между наиболее выгодным вариантом скидок от кол-ва и акцией Дополнительный функционал ФУНКЦИЯ СКИДКИ (ОТ КОЛ-ВА ТОВАРА) Функция - скидки от кол-ва товара (те, которые добавляются во вкладке "Скидки" в редакторе карточки товара). Позволяет более гибко настраивать каждую скидку модуля со скидкой от кол-ва товара в 3х вариантах. • Активировать: Если скидка на количество (та, что на закладке "Скидки" в товаре), меньше текущей настроенной HDP скидки, то из HDP скидки вычитается это значение. Если значение скидки товара больше, то оно поглощает настроенную HDP скидку. Проверка производится для каждого товара в корзине, поэтому на какие-то товары HDP скидка будет действовать в полном объеме, на какие-то - частично, а на какие-то может вообще не действовать. • Игнорировать: пользовательская скидка не применяется на товары, у которых есть скидка от кол-ва товара! (Пример: если у товара какая либо скидка от кол-ва товаров активна, то пользовательская скидка пакета не применяется). • Суммировать: суммируется скидка пакета и скидка товара! (т.е. скидка от кол-ва товара + скидка пакета). ФУНКЦИЯ ДЛЯ АКЦИЙ ТОВАРОВ Функция - акций товара (те, которые добавляются во вкладке "Акции" в редакторе карточки товара). Позволяет более гибко настраивать скидку модуля с акцией товара в 3-х вариантах. • Активировать: Если акция (та, что на закладке "Акции" в товаре), меньше текущей настроенной HDP скидки, то из HDP скидки вычитается это значение. Если значение акции товара больше, то оно поглощает настроенную HDP скидку. Проверка производится для каждого товара в корзине, поэтому на какие-то товары HDP скидка будет действовать в полном объеме, на какие-то - частично, а на какие-то может вообще не действовать. • Игнорировать: игнорируется скидка пакета на товары по Акции! - (т.е. к товарам, на которые установлена акция, скидка пакета не применяется!) • Суммировать: суммируется скидка пакета и акция товара! (т.е. цена товара по акции + скидка пакета). КОМПЛЕКТ ЦЕНЫ + Массовый редактор групповых цен или оптовых цен КОМПЛЕКТ ПАКЕТ СКИДОК Пользовательские скидки - Три варианта - пользовательская, для всех покупателей - для избранных покупателей - гостевая скидка на первую покупку Накопительные скидки - Одиннадцать вариантов на кол-во купленных товаров на кол-во совершённых заказов на общую сумму заказов на кол-во купленных товаров или на кол-во совершённых заказов - при совпадении хотя бы одного значения на кол-во совершённых заказов или на общую сумму заказов - при совпадении хотя бы одного значения на кол-во купленных товаров или на общую сумму заказов - при совпадении хотя бы одного значения на кол-во купленных товаров или на кол-во совершённых заказов или на общую сумму заказов - при совпадении хотя бы одного значения на кол-во купленных товаров и на кол-во совершённых заказов - при совпадении всех значений на кол-во купленных товаров и на общую сумму заказов - при совпадении всех значений на кол-во совершённых заказов и на общую сумму заказов - при совпадении всех значений на кол-во купленных товаров и на кол-во совершённых заказов и на общую сумму заказов - при совпадении всех значений Количественные скидки в корзине - Четыре варианта на кол-во товаров в корзине на общую сумму в корзине на общую сумму или кол-во товаров в корзине - при совпадении хотя бы одного значения на общую сумму и кол-во товаров в корзине - при совпадении всех значений Скидка на количество товаров или Комплектные скидки - Два варианта скидка на количественный комплект товаров разных наименований скидка на товары определённой группы при выборе количества разных наименований товаров другой группы Скидки от количества товара Массовый редактор скидок от количества товаров от 2х и более АКЦИИ - Товары по акции Массовый редактор акций товаров по часам и дням недели HELPERS - ВСТРОЕННЫЕ ПОМОЩНИКИ Удобные подсказки с детальным описанием HELPER Адаптирован / Интегрирован с Simple АОП - фильтрация по поставщикам, закупочная цена COST COST - закупочная цена / себестоимость - для расчета цен OrderPro от @shchs - расширенный редактор заказов Любые вопросы по модулю - добро пожаловать в тему обсуждения тут, тестируем, отписываемся, спрашиваем! Если у вас после обновления модификаторов валится сайт - значит какой-то "специалист" вам изменения внёс в кэш модификаторов - соответственно, чтобы заставить работать на таком сайте модуль - нужно повозиться с этим на платной основе т.к. такое не входит в бесплатную тех поддержу! ДЕМО > админка demo demo ДЕМО > фронт - забрасывайте товары в корзину и смотрите в корзине основной и выпадающей среди полей итого Перед покупкой модуля читаем всё внимательно! Внимательно читаем описание! Уточняйте все интересующие моменты в теме поддержки! Перед установкой модуля: Внимательно читаем файл readme_v3.0.txt Устанавливайте модуль только своей версии опенкарта Тестовые ключи выдаются на поддомен основного с явным указанием, что он тестовый demo.домен.ru или test.домен.ru Любые вопросы по модулю - добро пожаловать в тему обсуждения тут , тестируем, отписываемся, спрашиваем! Не корректно установили, не заработал и т.д. - и вы отказываете в доступах для поддержки - значит поддержка вам не нужна! Если у вас после обновления модификаторов валится сайт - значит какой-то "специалист" вам изменения внёс в кэш модификаторов - соответственно, чтобы заставить работать на таком сайте модуль - придется повозиться с этим на платной основе т.к. такое не входит в бесплатную тех поддержку! ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ!4 999 ₽1 балл -
Версия 1.05
49 раз скачали
При работе разных модификаторов, вносящих изменения в одни и те же файлы, могут возникать конфликты. В ряде случаев - этих конфликтов можно избежать, просто поменяв порядок выполнения модификаторов. OCMOD Execution Order позволяет задать нужный порядок выполнения модификаторов. При его использовании модификаторы будут выполняться согласно приоритету: сначала по присвоенному порядку, потом по имени. Инструмент будет полезен разработчикам и исполнителям при решении конфликтов OCMOD DEMO 3x DEMO 2x Особенности: ✔ управление очередностью прямо в списке модификаторов ✔ приоритет выполнения: сначала по указанному порядку, потом по имени ✔ автоматически создает и использует отдельную таблицу "modification_order" в БД ✔ не меняет файлы движка и его стандартные таблицы ✔ работает на ajax, использует OCMOD совместим с ocStore / OCSHOP - Opencart.pro / Opencart версий 2x-303x совместим с редакторами модификаторов: opencart Brazil opencart-templates Установка 2000-2200: 1. Загрузить файл ocmod-order.ocmod.xml в Дополнения > Установка дополнений 2. Обновить кеш модификаторов в Дополнения > Менеджер дополнений Установка 230x: 1. Скопировать файл ocmod-order.ocmod.xml в папку system 2. Дважды обновить кеш модификаторов в Дополнения > Модификаторы (Менеджер дополнений) если после первого обновления возникнет ошибка * Fatal error: Cannot redeclare class ModelExtensionModification - нажать F5 и обновить кеш модификаторов повторно * данная проблема связана с некорректной работой движка при изменении файла model/extension/modification.php через OCMOD обсуждалось здесь Установка 3x: 1. Загрузить архив ocmod-order-3x.ocmod.zip в Extensions > Installer (Дополнения > Установка дополнений) 2. Дважды обновить кеш модификаторов в Extensions > Modifications (Дополнения > Менеджер дополнений) 3. Обновить кеш шаблона (theme cache) в Dashboard > Developer Settings (Панель управления > Настройки разработчика) Обратите внимание! В зависимости от используемой версии движка, установка модуля может привести к включению режима обслуживания Проверьте состояние режима после установки мода, убедитесь что он отключен. Для актуального информирования о статусе режима обслуживания и его управлением рекомендуется использовать мод Maintenance Mode WarningБесплатный1 балл -
Image COMPRESSOR & Watermark & WebP & Lazy Load etc. by Sitecreator Добавил sitecreator Добавлено 12.06.2022 Категория Сжатие, Ускорение, Кэширование , Администрирование , Прочие Решения Просмотр файла1 балл
-
sphinx. просто sphinx этот ajax live search вам никаким боком не поможет, только усугубит1 балл
-
у меня это без VPN не открывается. Кто кого блокирует? Этого я не знаю, но блокируют, это точно. Друзья, давайте стараться делать контент и ссылки, которые максимально доступны в первую очередь для РФ и Белоруссии, для наших поисковиков. Для всех остальных - это тоже хорошо, но немного вторично в новых условиях.1 балл
-
значит что какое-то из изображений у вас либо битое, либо размером с бабушкин ковер (т.е. слишком большое либо по размерам в px, либо по размеру файла) оптимально использовать изображения весом менее 200-500кб и размерами до 1600х1200 px вспомните что делали с изображениями в последний раз, смотрите их размеры / перезагрузите1 балл
-
как и где он был создан? пользуйтесь именно кошельком, а не сторонними сервисами - никто не заблокирует1 балл
-
Есть ещё один очень интересный глюк, даже не глюк, а особенность. Если при задании пароля будет использоваться символ "&", то по созданному паролю в админку уже не получится зайти. При вводе нового пароля вместо каждого символа "&" нужно вводить "&", тогда получится зайти по такому паролю.1 балл
-
Без СеоПро придётся вносить правки в код. Надо править файл catalog/controller/startup/seo_url.php В двух местах строку: $url = ''; Заменить на это: $url = null; Это: if ($url) { Заменить на это: if (isset($url)) { После вот этой строки: parse_str($url_info['query'], $data); Вот это: if (isset($data['route'])) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "seo_url WHERE `query` = '" . $this->db->escape($data['route']) . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "' AND language_id = '" . (int)$this->config->get('config_language_id') . "'"); if ($query->num_rows) { $url = '/' . $query->row['keyword']; unset($data['route']); } } Потом в модификаторах нажать кнопку "Обновить". Вот файл с уже внесёнными правками: seo_url.zip В штатной библиотеке сео урлов нет редиректа с не ЧПУ ссылки на ЧПУ. Поэтому если сайт давно работает, то стоит настроить редирект с "/index.php?route=common/home" на "/"1 балл
-
Лучшие авторы, с кем довелось работать. Скрупулезное внимание к деталям и пожеланиям, делают даже больше, чем запрошено. Что-то подправят или найдут и укажут на косяки. Внимание и оперативность. Всем рекомендую, точно не пожалеете. Модули заслуживают отдельных отзывов. 100 из 10. Спасибо Вам большое. Вы лучшие!!!1 балл
-
При покупке товаров в интернет-магазинах, большинство клиентов изучают товар более подробно, просматривая характеристики и описание, пролистывая при этом карточку товара. И когда после изучения всех необходимых подробностей клиент готов купить товар, кнопка покупки уже находится далеко за пределами экрана, что заставляет совершать покупателя дополнительные действия по поиску данной кнопки, чтобы иметь возможность добавить товар в корзину. Эту задачу своим клиентам вы можете упростить, сделав на странице товара небольшую прилипающую панель с названием товара, ценой и кнопкой добавления в корзину, которая будет появляться при исчезновении стационарной кнопки покупки за пределами экрана. Данное нововведение вполне может повлиять на конверсию для вашего интернет-магазина на OpenCart, конечно же, в сторону её увеличения. Посмотреть готовый пример такой реализации можно по ссылке. Как только кнопка покупки уходит за верхнюю границу экрана, внизу показывается прилипающая панель с необходимыми данными. В данной статье будут описаны основные шаги по созданию такого функционала своими руками. Ссылку на готовый пример в виде модуля для OpenCart3 вы сможете найти в конце статьи. При желании, адаптировать модификатор для других версий OpenCart не составит особого труда. Приступим к созданию. Для начала в файле шаблона catalog/view/theme/default/template/product/product.twig добавим сразу после строки: {{ header }} HTML блок со всеми необходимыми нам данными: <div class="psp-wrap" id="product-sticky-panel"> <div class="container"> <div class="psp-content"> ... </div> </div> </div> Код сокращён для наглядности. Полный исходный код можно посмотреть по ссылке в конце статьи. Теперь нам нужно добавить необходимые стили. Для начала сделаем нашу панель прилипающей. Для этого будем использовать position: sticky (заодно пропишем нужные правила для позиционирования нашей панели) .psp-wrap { position: sticky; top: 0; left: 0; right: 0; z-index: 999; } С такими стилями наша панель будет отображаться всегда, а при скроле будет прилипать к верху экрана. Такая реализация не совсем подходит для поставленной цели. Поэтому скроем нашу панель по умолчанию: .psp-wrap:not(.active) { display: none; } !ВНИМАНИЕ! В исходном коде модуля-примера все стили помещаются в <head> страницы. Если стили будут переноситься в css файл, то стиль скрытия надо обязательно оставить в секции <head>, иначе наша панель будет видна, пока не подгрузится файл стилей, а это увеличит совокупное смещение макета (CLS), что соответственно снизит оценку PageSpeed. Теперь наша панель скрыта. Дело остаётся за небольшим скриптом, который добавит нужный класс active для нашей панели в от момент, когда кнопка покупки спрячется за верхней границей экрана. Задача довольно простая, поэтому её лучше решить без использования jQuery. Для данной задачи нам также не нужно активное отслеживание событий onscroll, поэтому здесь как нельзя лучше подойдёт Intersection Observer API. Подробный разбор скрипта в этой статье не приводится, т.к. в интернете хватает документации и примеров по использованию данного API. Действия по отслеживанию будут выполняться вот таким скриптом: document.addEventListener('DOMContentLoaded', () => { let target = document.querySelector('#button-cart'); let psp = document.querySelector('#product-sticky-panel'); target && psp && new IntersectionObserver(([e]) => psp.classList.toggle('active', e.boundingClientRect.y < 0), { threshold:1.0 }).observe(target); }); Полный код этой несложной модификации можно скачать вот тут:1 балл
-
Не хватает очень важной настройки. Да и в принципе не раскрыта тема настройки конфига для самого php-fpm, а его настройка по-умолчанию оставляет желать лучшего. Как известно, режим nginx+ php-fpm чреват "сюрпризами" в виде утечки памяти. Это в конце концов приводит к тому, что спустя несколько дней память будет использована под 100%, а сервер, соответственно, ляжет. Поиск через поисковики показывает, что проблема эта глобальная и давняя. Т.е. это не единичные случаи, это повальная проблема. Разрастаются в потреблении памяти дочерние процессы php-fpm. Проявляется не на всех версиях php, в частности на 5.6 я этой проблемы не наблюдал, но на 7.* - это будет почти всегда. поэтому к конфигурации самого php-fpm нужно подходить не менее тщательно, чем к конфигурации nginx. Я неоднократно писал об этой проблеме на разных форумах. И неоднократно же ко мне обращались за решением данной проблемы. pm.max_requests = 1500 Слишком малое значение не стоит устанавливать. Это значение зависит от доступного объема памяти сервера. Конечное значение подбирается опытным путем. Это максимальное количество запросов max_requests до перезапуска процессов FPM. На остальные параметры также обратите внимание. На скриншоте файл конфигурации, редактируемый через панель управления aapanel, но сама панель управления не имеет значения, т.к. принципы едины.1 балл