Я новичок в typo3, я сделал расширение с Kickstarter, и я хочу отключить кеш только для этого расширения, а не для других страниц моего сайта typo3.
Как я могу это сделать?
Большое спасибо.
Я новичок в typo3, я сделал расширение с Kickstarter, и я хочу отключить кеш только для этого расширения, а не для других страниц моего сайта typo3.
Как я могу это сделать?
Большое спасибо.
Также для отключения или ограничения времени кеширования на каждой странице может быть решение Настройка находится в разделе editicon edit → поведение вкладки → настройки кеша (параметр "no_cache = 1 url" )
Другой способ - очистить кеш при изменении данных в sysfolder/установить autoclear в конфигурации ts страницы для отдельных страниц TCEMAIN.clearCacheCmd = 1,3,5 - номера разделены запятой pid TCEMAIN.clearCacheCmd = all - или очистить кеш всех
http://typo3blog.at/blog/artikel/typo3-caching-grundlagen/
http://typo3weblog.de/2008/07/26/tcemainclearcachecmd-statt-clear-cache-button/
вам нужно обратить внимание на три местоположения. Сначала просмотрите файл ext_localconf.php. Для каждого плагина (под плагином подразумевается Frontend Plugin) есть строка, подобная этой:
t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_yourext_pi1.php', '_pi1', 'list_type', 1);
Чтобы отключить кеш, вам нужно установить последнее значение в ноль, например.
t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_yourext_pi1.php', '_pi1', 'list_type', 0);
Внутри PHP файла плагина (например, pi1/class.tx_yourext_pi1.php) вам необходимо убедиться, что следующая строка либо удалена, либо прокомментирована, либо изменена на "false"
$pi_checkCHash = true;
Наконец, добавьте эту строку в свою основную() функцию (где-то ниже остальных):
$this->pi_USER_INT_obj = 1;
Это должно сделать это.
у.е. Roman
Использование $GLOBALS['TSFE']->set_no_cache()
отключит кеширование для всей страницы!
Вызовите функцию
$GLOBALS["TSFE"]->set_no_cache()
, если вы хотите отключить кеширование страницы. Назовите это во время разработки! И назовите его, если создаваемый контент не может быть кэширован.
Другие источники являются пояснительными.
Вместо этого убедитесь, что ваше расширение имеет тип USER_INT
, ср. документы.
$this->pi_USER_INT_obj = 1;
Давайте обновим этот вопрос с более подробной информацией, относящейся к TYPO3 CMS 6.0.x-6.2.x на момент написания этой статьи. Если у вас еще есть сайт разработчика, я использовал расширение uncache, сделанное командой FluidTYPO3. Приятно, что вы можете полностью отключить кеш, пока не получите ошибки, так что вы не очищаете кеш каждые 2 секунды.
К сожалению, эти ответы более 8 лет. В настоящее время класс ExtensionUtility предоставляет переключатель для отключения кэширования на основе действий:
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'MyCompany.' . $_EXTKEY,
'Sample',
['Sample' => 'index'],
// non-cacheable actions:
['Sample' => 'index']
);
https://docs.typo3.org/typo3cms/ExtbaseFluidBook/4-FirstExtension/7-configuring-the-plugin.html
Используйте следующий script для удаления кеша с текущей страницы.
$GLOBALS['TSFE']->set_no_cache()
Выше script вы можете использовать в своем файле контроллера.