- Версии OpenCart
- OC v3.х
IMSeoUrl (OC 3) NULLED - Генератор сео URL (ЧПУ)
Простой и удобный модуль для массовой генерации сео URL (ЧПУ) в транслите. Поддерживаются товары, категории, производители и статьи (с поддержкой тегов). Так же существует возможность автоматической генерации сео URL (ЧПУ).
IMSeoUrl поддерживает стандарт опенкарта 3, то есть генерация различных URL для магазинов и языков.
Умеет проверять наличие существующих урлов при массовой генерации (для известных объектов указываются линки для редактирования).
Перед генерацией советуется сделать бэкап БД или хотя бы таблицы oc_seo_url, так как все пишется сразу в базу (для тех случаев, когда вручную настраивали SEO, но не учли этого).
Перед использованием, обязательно убедитесь, что в хостинге включен модуль intl
Так же для генерации текстов советую мой модуль IMGeneratorSeo(OC3)
Автоматическая генерация SEO URL (ЧПУ)
Модуль подразумевает возможность генерации SEO URL (ЧПУ) через кнопку в форме (JS) и через контроллеры и модели Опенкарт (PHP).
Также вы можете указывать разные шаблоны генерации и схемы транслитации для каждого языка, магазина и каждого объекта (товар, категория, производитель, обзор).
В настройках также можно указывать как происходит формирование ЧПУ: Перезапись или Замена пустых.
Модуль добавляет 2 кнопки, если включёны соответствующие настройки. Кнопка «IMSeoUrl Авто Js» - генерирует ЧПУ по нажатию. Кнопка «IMSeoUrl Откл. php: Нет/Да» - для отключения генерации ЧПУ в моделях и контроллерах при создании и редактировании объекта (товар, категория, производитель, обзор) в админке. Также модуль добавляет кнопку для быстрой очистки.
Как использовать для модуля импорта, если таковой поддерживает создание и редактирование объектов (товаров, категорий и т.п.) через модели Опенкарта?
В таком случае:
- Настройте нужные шаблоны и вариант формирования ЧПУ (Перезапись / Замена пустых).
- Включите генерацию через параметр «Генерация в моделях и контроллерах (PHP)».
Общие важные моменты:
- Если основной шаблон для языка пустой, то поле не заполняется, даже если указан шаблон для уникализации.
- Исходный шаблон проверяется на уникальность. Шаблон же для уникализации не проверяется на уникальность. Поэтому старайтесь составлять уникальные шаблоны.
- Если шаблон для уникализации не задан, а сгенерированное значение не является уникальным, то выставляется пустое значение.
- Учитывайте, что при создании объектов (товар, категория, производитель, обзор) в админке идентификатор (id) объектов неизвестен. Поэтому, скажем, когда вы при создании нажимаете кнопку JS в форме админки, вместо идентификаторов будет вставляться пустое значение.
- Учитывайте, что генерация с помощью моделей и контроллеров подразумевает свой подход. Когда вы редактируете или создаёте объект (товар, категория, производитель, обзор) через админку, то используется только генерация в контроллерах. Это означает, что, скажем, при создании идентификатор (id) недоступен. Когда же вы добавляете товар через код, вызывая модели Опенкарта (скажем, при импорте, если такое используется), то идентификатор (id) становится доступен в моделях объектов Опенкарта (чисто технически ЧПУ добавляются после создания основной записи в БД, поэтому идентификатор доступен).
- Вы можете отключить автогенерацию в контроллерах и моделях Опенкарта в админке, нажав кнопку во вкладке с SEO URL (ЧПУ), если кнопка не отключена в настройках.
- Техническая информация для отключения генерации в моделях и контроллерах Опенкарта - в данных нужно передавать параметр imseourl_php_disable со значением 1, отдельно для моделей можно передавать параметр imseourl_php_model_disable со значением 1.
- Касается только генерации через модели и контроллеры Опенкарта. Когда вы открываете карточку объекта (товар, категория, производитель, обзор) в админке, то вначале загружаются исходные значения ЧПУ. Генерация же ЧПУ происходит только в момент сохранения объекта (или попытки сохранения).
- При включенной генерации в контроллерах и моделях Опенкарта, отключение поля «Авто PHP по умолчанию в админке» в настройках модуля никак не касается ситуаций, когда вы запускаете модели Опенкрата через код, там необходимо в коде передавать параметры, иначе генерация будет происходить.
- По умолчанию при копировании товаров в контроллерах и моделях Опенкарта SEO URL (ЧПУ) копируются пустыми (и сам товар копируется отключённым). Соответственно, какие бы настройки не были в автогенерации, копирование товаров происходит с пустыми SEO URL (ЧПУ). Важно понимать, что при копировании все поля одинаковые.
Модуль также включает в себя собственный небольшой менеджер ЧПУ, что может быть удобным.
Менеджер позволяет заполнять пустые значения для запросов. Это особенно важно для ошибки с «common/home», так как ключ должен быть пустым, а стандартный редактор этого не позволяет делать.
Также фильтры менеджера ЧПУ позволяют искать по значению внутри, а не по полному совпадению, что тоже может быть удобно.
Переключатель ошибок в массовой генерации:
- Ничего не делать — ошибки не проверяются, данные в БД пишутся как есть
- Только выводить — ошибки проверяются и отображаются, но данные в БД пишутся как есть
- Учитывать — ошибки проверяются и отображаются, для ошибочной строки данные не пишутся в БД
IMSeoUrl автоматически загружает список доступных схем транслитации модуля intl. Таким образом, вы можете выбирать подходящую схему под вашу задачу.
По умолчанию активной схемой транслитации является Any-Latin, так как это наиболее общий вариант.
Вот несколько примеров подходящих схем транслитации для соответствующих языков (при условии, что они поддерживаются вашей версией модуля intl):
- Русский — Russian-Latin/BGN
- Украинский — Ukrainian-Latin/BGN
- Белорусский — Belarusian-Latin/BGN
- Казахский — Kazakh-Latin/BGN
- Учтите, что если указан тип Перезапись при массовой генерации, то вначале удаляются все URL для выбранного языка и магазина для текущего объекта (товары, категории и прочее)
- Учтите, что keyword (транслит) должен быть уникален в рамках одного магазина (языки, различные типы и пользовательские URL)
- Для транслитации используется стандартные возможности php
- Двойные тире заменяются одинарными, все несимвольные знаки удаляются .
- Во время генерации ЧПУ не стоит редактировать товары и прочие объекты, иначе могут быть ошибки с урлами.
- Одновременно можно запускать только одну генерацию.
- При генерации Url создаются для магазина в целом, даже если объект не привязан к отображению в магазине.
- Нет фильтрации по включенным/отключенным объектам — делается для всех.
- Задержка между Ajax запросами для массовой генерации задается в файле system/IMSeoUrl/IMSeoUrlConfig.php параметр IMSEOURL_GEN_AJAX_DELAY. По умолчанию это значение составляет 200 мс.
- Количество объектов, для которых за один раз создается транслит, задается в файле system/IMSeoUrl/IMSeoUrlConfig.php параметр IMSEOURL_ITEM_COUNT_BY_PART. По умолчанию это значение составляет 200.
- Дополнительный фильтр транслитации так же хранится в system/IMSeoUrl/IMSeoUrlConfig.php параметр IMSEOURL_TRANSLITATOR_ADD_FILTERS.
- Учтите, что во время генерации нельзя корректировать конфиг модуля IMSeoUrl, иначе это может привести к ошибкам.
- Требуется, чтобы в настройках сайта было выставлено mbstring.func_overload 0. Если вы не знаете как это сделать , то уточните в вашем хостинге. В большинстве случаев по умолчанию это значение 0 (вам, как клиенту, ничего не нужно делать), но в некоторых хостингах выставляют значение 2. Это актуально в тех случаях, если у вас возникли проблемы с ключами и активацией модуля.
- PHP 5 >= 5.4.0, PECL intl >= 2.0.0
- Сделайте бэкап сайта - стандартная практика.
- Распакуйте где-нибудь архив и скопируйте в корень сайта каталоги «admin» и «system». Не волнуйтесь, никакие файлы не будут заменены
- Откройте админку и установите модуль (если переустановка, то переустановите)
- Установите модификаторы imseourl_menu_fast_link.ocmod.zip и imseourl_auto_seourl.ocmod.zip.
- Затем обновите модификаторы и почистите кэш твига.
- Откройте в админке модуль (редактирование) и пользуйтесь.