Typo3 - отключить кеш для расширения - PullRequest
10 голосов
/ 15 марта 2011

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

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

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

Ответы [ 6 ]

27 голосов
/ 23 марта 2011

нужно обратить внимание на три локации.Сначала взгляните на ваш файл ext_localconf.php.Для каждого плагина (под плагином я имею в виду плагин внешнего интерфейса) есть строка, подобная этой:

t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_yourext_pi1.php', '_pi1', 'list_type', 1);

Чтобы отключить кэш, вам нужно установить последнее значение равным нулю, например так.1005 *

В PHP-файле плагина (например, pi1 / class.tx_yourext_pi1.php) необходимо убедиться, что следующая строка либо удалена, закомментирована, либо изменена на «ложь»наконец, добавьте эту строку в вашу функцию main () (где-то ниже остальных):

$this->pi_USER_INT_obj = 1;

Это должно сделать это.

cu Roman

3 голосов
/ 12 июля 2012

Также можно отключить или ограничить время кэширования для каждой страницы. Настройка находится под редактированием страницы -> поведение вкладки -> настройки кэша (параметр? no_cache = 1 url)

Другой способ - очистить кеш при изменении данных. в sysfolder / установить autoclear в его конфигурации страницы TS для отдельных страниц TCEMAIN.clearCacheCmd = 1,3,5 - числа разделены запятой TCEMAIN.clearCacheCmd = all - или очистить кеш all

http://typo3blog.at/blog/artikel/typo3-caching-grundlagen/

http://typo3weblog.de/2008/07/26/tcemainclearcachecmd-statt-clear-cache-button/

1 голос
/ 19 апреля 2019

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

1 голос
/ 22 марта 2011

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

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

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

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

$this->pi_USER_INT_obj = 1;
0 голосов
/ 18 марта 2016

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

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

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

0 голосов
/ 10 июля 2014

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

uncache на GitHub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...