Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно, 
то ждем ваше обращение в нашей службе тех поддержки.
		
	
								
			
Просто регистрируем обработчики ниже через AddEventHandler в init.php.
			
			
Назад в раздел
		  
	
	
	
	
		 Наверх
 Наверх
	
	
то ждем ваше обращение в нашей службе тех поддержки.
Сбрасываем кеш меню при изменении пунктов меню
Раньше так и было - изменили секцию ИБ, которая участвует в построении меню, или (тем более) добавили пункт меню в файл - кеш сбрасывался для всех меню. Что правильно и логично (обратного, по крайней мере, я не встречал). И вот не так давно это убрали, и возвращать не торопятся. Ниже три обработчика, которые вернут логику как было.Просто регистрируем обработчики ниже через AddEventHandler в init.php.
| //добавление секции, если она влияет на построение меню 
public static function OnAfterIBlockSectionAdd($arFields) {
   if ($arFields['IBLOCK_ID'] == CProSet::IB_menu) {
      $GLOBALS['CACHE_MANAGER']->CleanDir('menu');
      CBitrixComponent::clearComponentCache('bitrix:menu');
   }
}
//изменение секции, если она влияет на построение меню
public static function OnAfterIBlockSectionUpdate($arFields) {
   if ($arFields['IBLOCK_ID'] == CProSet::IB_menu) {
      $GLOBALS['CACHE_MANAGER']->CleanDir('menu');
      CBitrixComponent::clearComponentCache('bitrix:menu');
   }
}  
//изменение файла меню  
public static function OnChangeFile($path, $site) {
   if (preg_match('/\..*?\.menu\.php/is', $path)) {
      $GLOBALS['CACHE_MANAGER']->CleanDir('menu');
      CBitrixComponent::clearComponentCache('bitrix:menu');
   }
}
 | 
Назад в раздел
Подписаться на новые материалы раздела:
	Загрузка...
	
			
				
	
		
	
	
	
	
	 Наверх
 Наверх