Перейти к содержимому
Русский язык для Invision Community 5

Кэшируется плагин

Ситуация такая. Нужно на каждой странице выводить динамическое содержимое.

Создал хук шаблона, выбрал селектор, где он будет отображаться. И тут же столкнулся с проблемой. Если отключить режим разработчика, то php выполняется всего 1 раз и результат кэшируется. И в дальнейшем всем пользователям и гостям показывает результат первого запуска скрипта.

 

Например создаю такой хук который вверху каждой страницы должен выдавать результат php-функции time(). Тоесть при каждом обновлении страницы должно появляться новое число.

Но если при первом открытии страницы любым пользователем сгенерировалось число 12345678, то это число теперь будет отображаться у всех пользователей. При это кэш не сбрасывается даже через сутки.

 

//<?php

/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
exit;
}

class hook73 extends _HOOK_CLASS_
{

/* !Hook Data - DO NOT REMOVE */
public static function hookData() {
   $content = time();
return array_merge_recursive( array (
 'globalTemplate' => 
 array (
   0 => 
   array (
     'selector' => '#ipsLayout_mainArea',
     'type' => 'add_inside_start',
     'content' => $content,
   ),
 ),
), parent::hookData() );
}
/* End Hook Data */


}

 

Можно ли это дело как-то обойти и заставить движок выполнять код хука постоянно?

Рекомендованные сообщения

'content' => $content,

заменить на

'content' => '{expression="time()"}',

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.