Описание
Модуль позволяет настроить замену слов в названии элемента, что позволяет получить нужную плотность по слову на листинге. Настройка осуществляется для конкретного раздела, поэтому один и тот же элемент, привязанный к нескольким разделам, может иметь разное наименование в листингах разных разделов. Можно использовать как с компонентами типа список элементов каталога, так и со списком новостей и другими.
Модуль предназначен для работы с инфоблоками, в которых есть разделы. Замены задаются для разделов, если в будущем у раздела поменяется адрес, то настройка останется актуальной.
Для удобства поиска есть фильтр по инфоблокам, разделам, словам, заменам.
После установки в разделе «Контент» административной панели появится пункт «Замена слов в названиях».
1. Выберите инфоблок, выберите раздел.
2. Добавьте искомые слова, замену и количество замен. Регистр учитывается.
3. Пагинация не учитывается. Если Вы задали заменить «слово» на «замена» пять раз, то и на первой странице списка элементов будет произведена замена, и на второй странице снова будет замена, аналогично первой странице.
4. Модуль обрабатывает название элемента и, если задан, заголовок элемента, заданный в seo-шаблонах ($arItem[«NAME»] и $arItem[«IPROPERTY_VALUES»][«ELEMENT_PAGE_TITLE»]). Если в качестве заголовка элемента выводятся какие-то свои свойства (например, [«PROPERTIES»][«NAME_ENGLISH»][«VALUE»]), то они обработаны не будут и в них замена произведена не будет.
5. В коде шаблона компонента, выводящего список элементов, нужно добавить функцию:[CODE]if(BitrixMainLoader::includeModule(«kemplox.replacewords»))
kemploxmodulesreplacewordsController::updateTitles($arItems, $sectionID);[/CODE]где $arItems — массив с выводимыми элементами, в которых есть поле [«NAME»] и/или [«IPROPERTY_VALUES»][«ELEMENT_PAGE_TITLE»], $sectionID — ID текущего раздела.
Например, можно в конец файла result_modifier.php или в начале файла template.php шаблона компонента catalog.section добавить этот код:[CODE]if(BitrixMainLoader::includeModule(«kemplox.replacewords»))
kemploxmodulesreplacewordsController::updateTitles($arResult[«ITEMS»], $arResult[«ID»]);[/CODE][B]Выше представлены лишь образцы кода, они не универсальны и могут отличаться на разных проектах. Перед модификацией кода шаблона рекомендуем сделать его резервную копию. Модификацию кода рекомендуем производить посредством FTP-доступа.[/B]
6. Рекомендуем после обработки сбросить кеш.
Модуль тестировался на Битриксе версии от 18.0.6 и старше, php от 5.6 и старше. Но должен работать с версиями Битрикса от 15 и старше, хотя это не тестировалось.
Кроме замены слов в названиях может потребоваться добавление слов к названию. Для этого можете воспользоваться модулем [URL=https://marketplace.1c-bitrix.ru/solutions/kemplox.controlledwords/]Контролируемая плотность слов (медиана)[/URL].