Не всегда работают пользовательские региональные тэги типа #REGION_TAG_NAME_SHORT_DECLINE_PP#

ФС-Групп добавил(а) 2 года назад
Решена

Проблема воспроизводится так: создаёте пользовательский региональный тэг и выводите его, например, в заголовке или тексте посадочной страницы, созданной SEO умным фильтром. После этого выбираете в фильтре каталога нужные параметры, чтобы отобразилась эта посадочная страница. Если аякс в каталоге выключен, то вы увидите #REGION_TAG_***# вместо текста.


После анализа кода Аспро.Максимум выяснил причину - в обработчике static function OnEndBufferContentHandler из CMaxEvents.php в массиве CMaxRegionality::$arSeoMarks отсутствуют тэги REGION_TAG_***, когда в каталоге товаров включен режим аякс. Если включить аякс в каталоге, то будет работать обработчик static function onAfterAjaxResponseHandler(), внутри которого вызывается функция CMax::setRegionSeoMarks();, заполняющая пользовательские региональные тэги.


Проблему решил добавлением обработчика события OnBeforeEndBufferContent:


public static function OnBeforeEndBufferContentHandler()
{
   global $arRegion;
   if ($arRegion)
   {
      CMax::setRegionSeoMarks();
   }
}
Прошу исправить эту ошибку в коде Аспро. Есть соответствующая заявка MAX-2476.

Ответы (1)

фото
1

Проблема решена в 2.0.0.

Комментировать
 
Прикрепить файлы