Typo3 - Отключить кеш для расширения

Я новичок в typo3, я сделал расширение с Kickstarter, и я хочу отключить кеш только для этого расширения, а не для других страниц моего сайта typo3.

Как я могу это сделать?

Большое спасибо.

Ответ 1

Также для отключения или ограничения времени кеширования на каждой странице может быть решение Настройка находится в разделе 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/

Ответ 2

вам нужно обратить внимание на три местоположения. Сначала просмотрите файл 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

Ответ 3

Использование $GLOBALS['TSFE']->set_no_cache() отключит кеширование для всей страницы!

Вызовите функцию $GLOBALS["TSFE"]->set_no_cache(), если вы хотите отключить кеширование страницы. Назовите это во время разработки! И назовите его, если создаваемый контент не может быть кэширован.

Другие источники являются пояснительными.

Вместо этого убедитесь, что ваше расширение имеет тип USER_INT, ср. документы.

$this->pi_USER_INT_obj = 1;

Ответ 4

Давайте обновим этот вопрос с более подробной информацией, относящейся к TYPO3 CMS 6.0.x-6.2.x на момент написания этой статьи. Если у вас еще есть сайт разработчика, я использовал расширение uncache, сделанное командой FluidTYPO3. Приятно, что вы можете полностью отключить кеш, пока не получите ошибки, так что вы не очищаете кеш каждые 2 секунды.

Ответ 5

К сожалению, эти ответы более 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

Ответ 6

Используйте следующий script для удаления кеша с текущей страницы.

$GLOBALS['TSFE']->set_no_cache() 

Выше script вы можете использовать в своем файле контроллера.