TYPO3: изменить плагин с USER на тип USER_INT - PullRequest
6 голосов
/ 15 ноября 2008

У меня есть рабочее расширение TYPO3. Он прикреплен к этой вики-странице . Как я могу изменить код этого расширения, чтобы оно было типа USER_INT? То есть Я не хочу, чтобы TYPO3 кэшировал выходные данные этого плагина, и хочу, чтобы TYPO3 вызывал расширение каждый раз, когда страница использует это расширение, то есть отключает кэширование для этого расширения.

Ответы [ 6 ]

6 голосов
/ 18 февраля 2009

Чтобы отключить кэширование для вашего расширения, перейдите в файл piX / class.tx_XXX_piX.php и удалите следующую строку (под объявлением класса):

var $pi_checkCHash = true;

Вам также необходимо добавить следующую строку в метод main (ниже $ this-> pi_loadLL ();):

$this->pi_USER_INT_obj=1;    // Configuring so caching is not expected. This value means that no cHash params are ever set. We do this, because it's a USER_INT object!
4 голосов
/ 04 апреля 2009

grunwalski, наоборот, вы должны изменить это:

t3lib_extMgm::addPItoST43($_EXTKEY,'piX/class.tx_yourextension_piX.php','_piX','list_type',1);

к этому:

t3lib_extMgm::addPItoST43($_EXTKEY,'piX/class.tx_yourextension_piX.php','_piX','list_type',0);
2 голосов
/ 07 июля 2010

Самый простой способ решить вашу проблему - вернуться в Extension Maganer, выбрать свое расширение, выбрать «Редактировать в Kickstarter» из выпадающего меню, а затем выбрать соответствующий плагин Frontend для редактирования его свойств.

Установите первый флажок, который означает, что вы хотите, чтобы ваши плагины отображались как USER_INT cObjects. После этого нажмите кнопку «Просмотр результатов», снимите флажки со всех пользовательских файлов PHP (ваш собственный код, например модули и плагины) с правой стороны и нажмите кнопку «ЗАПИСЬ». Пожалуйста, будь осторожен. Если вы не снимите флажки своих файлов, они будут перезаписаны фиктивными файлами.

1 голос
/ 21 февраля 2014

Правильный и удобный способ сделать это - сочетание ответов @arturh и @Mehdi Guermazi:

  1. изменить последний параметр в вызове addPItoST43() в ext_localconf.php с 1 на 0
  2. удалите строку var $pi_checkCHash = true; из определений свойств в заголовке класса pi1.
  3. добавить строку $this->pi_USER_INT_obj=1; в начало функции main () в pi1.

Эти изменения идентичны тем, что вы получите при использовании метода kickstarter, описанного в решении @ bencuss.

0 голосов
/ 16 августа 2014

Отредактируйте файл setup.txt вашего расширения «myext». Измените «USER» на «USER_INT».

plugin.tx_myext = USER_INT
plugin.tx_myxt {

Это расширение никогда не будет кэшировано.

0 голосов
/ 03 апреля 2009

Когда вы создали свое расширение с помощью Kickstarter, вам также нужно перейти в файл [yourextension] /ext_localconf.php и изменить эту строку

t3lib_extMgm::addPItoST43($_EXTKEY,'piX/class.tx_yourextension_piX.php','_piX','list_type',0);

к этому:

t3lib_extMgm::addPItoST43($_EXTKEY,'piX/class.tx_yourextension_piX.php','_piX','list_type',1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...