IMSeoUrl (OC 3) - Генератор сео URL (ЧПУ)

Модуль IMSeoUrl (OC 3) - Генератор сео URL (ЧПУ) v1.1.0

Генератор сео URL (ЧПУ)
1.gen-pros.png


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: Нет/Да» - для отключения генерации ЧПУ в моделях и контроллерах при создании и редактировании объекта (товар, категория, производитель, обзор) в админке. Также модуль добавляет кнопку для быстрой очистки.

Как использовать для модуля импорта, если таковой поддерживает создание и редактирование объектов (товаров, категорий и т.п.) через модели Опенкарта?

В таком случае:

  1. Настройте нужные шаблоны и вариант формирования ЧПУ (Перезапись / Замена пустых).
  2. Включите генерацию через параметр «Генерация в моделях и контроллерах (PHP)».
Остальные параметры можете выставлять так, как вам удобно. Учтите, что генерация в моделях (в случае импорта через код) отключается либо через передачу параметров в модели, либо через общий параметр «Генерация в моделях и контроллерах (PHP)». Моменты про код читайте далее.

Общие важные моменты:
  1. Если основной шаблон для языка пустой, то поле не заполняется, даже если указан шаблон для уникализации.
  2. Исходный шаблон проверяется на уникальность. Шаблон же для уникализации не проверяется на уникальность. Поэтому старайтесь составлять уникальные шаблоны.
  3. Если шаблон для уникализации не задан, а сгенерированное значение не является уникальным, то выставляется пустое значение.
  4. Учитывайте, что при создании объектов (товар, категория, производитель, обзор) в админке идентификатор (id) объектов неизвестен. Поэтому, скажем, когда вы при создании нажимаете кнопку JS в форме админки, вместо идентификаторов будет вставляться пустое значение.
  5. Учитывайте, что генерация с помощью моделей и контроллеров подразумевает свой подход. Когда вы редактируете или создаёте объект (товар, категория, производитель, обзор) через админку, то используется только генерация в контроллерах. Это означает, что, скажем, при создании идентификатор (id) недоступен. Когда же вы добавляете товар через код, вызывая модели Опенкарта (скажем, при импорте, если такое используется), то идентификатор (id) становится доступен в моделях объектов Опенкарта (чисто технически ЧПУ добавляются после создания основной записи в БД, поэтому идентификатор доступен).
  6. Вы можете отключить автогенерацию в контроллерах и моделях Опенкарта в админке, нажав кнопку во вкладке с SEO URL (ЧПУ), если кнопка не отключена в настройках.
  7. Техническая информация для отключения генерации в моделях и контроллерах Опенкарта - в данных нужно передавать параметр imseourl_php_disable со значением 1, отдельно для моделей можно передавать параметр imseourl_php_model_disable со значением 1.
  8. Касается только генерации через модели и контроллеры Опенкарта. Когда вы открываете карточку объекта (товар, категория, производитель, обзор) в админке, то вначале загружаются исходные значения ЧПУ. Генерация же ЧПУ происходит только в момент сохранения объекта (или попытки сохранения).
  9. При включенной генерации в контроллерах и моделях Опенкарта, отключение поля «Авто PHP по умолчанию в админке» в настройках модуля никак не касается ситуаций, когда вы запускаете модели Опенкрата через код, там необходимо в коде передавать параметры, иначе генерация будет происходить.
  10. По умолчанию при копировании товаров в контроллерах и моделях Опенкарта SEO URL (ЧПУ) копируются пустыми (и сам товар копируется отключённым). Соответственно, какие бы настройки не были в автогенерации, копирование товаров происходит с пустыми SEO URL (ЧПУ). Важно понимать, что при копировании все поля одинаковые.
Собственный менеджер ЧПУ:

Модуль также включает в себя собственный небольшой менеджер ЧПУ, что может быть удобным.

Менеджер позволяет заполнять пустые значения для запросов. Это особенно важно для ошибки с «common/home», так как ключ должен быть пустым, а стандартный редактор этого не позволяет делать.

Также фильтры менеджера ЧПУ позволяют искать по значению внутри, а не по полному совпадению, что тоже может быть удобно.

Переключатель ошибок в массовой генерации:
  1. Ничего не делать — ошибки не проверяются, данные в БД пишутся как есть
  2. Только выводить — ошибки проверяются и отображаются, но данные в БД пишутся как есть
  3. Учитывать — ошибки проверяются и отображаются, для ошибочной строки данные не пишутся в БД
Схемы транслитации:

IMSeoUrl автоматически загружает список доступных схем транслитации модуля intl. Таким образом, вы можете выбирать подходящую схему под вашу задачу.

По умолчанию активной схемой транслитации является Any-Latin, так как это наиболее общий вариант.

Вот несколько примеров подходящих схем транслитации для соответствующих языков (при условии, что они поддерживаются вашей версией модуля intl):
  • Русский — Russian-Latin/BGN
  • Украинский — Ukrainian-Latin/BGN
  • Белорусский — Belarusian-Latin/BGN
  • Казахский — Kazakh-Latin/BGN
Особенности:
  1. Учтите, что если указан тип Перезапись при массовой генерации, то вначале удаляются все URL для выбранного языка и магазина для текущего объекта (товары, категории и прочее)
  2. Учтите, что keyword (транслит) должен быть уникален в рамках одного магазина (языки, различные типы и пользовательские URL)
  3. Для транслитации используется стандартные возможности php
  4. Двойные тире заменяются одинарными, все несимвольные знаки удаляются .
  5. Во время генерации ЧПУ не стоит редактировать товары и прочие объекты, иначе могут быть ошибки с урлами.
  6. Одновременно можно запускать только одну генерацию.
  7. При генерации Url создаются для магазина в целом, даже если объект не привязан к отображению в магазине.
  8. Нет фильтрации по включенным/отключенным объектам — делается для всех.
  9. Задержка между Ajax запросами для массовой генерации задается в файле system/IMSeoUrl/IMSeoUrlConfig.php параметр IMSEOURL_GEN_AJAX_DELAY. По умолчанию это значение составляет 200 мс.
  10. Количество объектов, для которых за один раз создается транслит, задается в файле system/IMSeoUrl/IMSeoUrlConfig.php параметр IMSEOURL_ITEM_COUNT_BY_PART. По умолчанию это значение составляет 200.
  11. Дополнительный фильтр транслитации так же хранится в system/IMSeoUrl/IMSeoUrlConfig.php параметр IMSEOURL_TRANSLITATOR_ADD_FILTERS.
  12. Учтите, что во время генерации нельзя корректировать конфиг модуля IMSeoUrl, иначе это может привести к ошибкам.
  13. Требуется, чтобы в настройках сайта было выставлено mbstring.func_overload 0. Если вы не знаете как это сделать , то уточните в вашем хостинге. В большинстве случаев по умолчанию это значение 0 (вам, как клиенту, ничего не нужно делать), но в некоторых хостингах выставляют значение 2. Это актуально в тех случаях, если у вас возникли проблемы с ключами и активацией модуля.
  14. PHP 5 >= 5.4.0, PECL intl >= 2.0.0
Установка, переустановка и использование:
  1. Сделайте бэкап сайта - стандартная практика.
  2. Распакуйте где-нибудь архив и скопируйте в корень сайта каталоги «admin» и «system». Не волнуйтесь, никакие файлы не будут заменены
  3. Откройте админку и установите модуль (если переустановка, то переустановите)
  4. Установите модификаторы imseourl_menu_fast_link.ocmod.zip и imseourl_auto_seourl.ocmod.zip.
  5. Затем обновите модификаторы и почистите кэш твига.
  6. Откройте в админке модуль (редактирование) и пользуйтесь.
Сверху Снизу