TYPO3:将插件从USER更改为USER_INT类型

时间:2008-11-15 20:34:15

标签: caching typo3

我有一个工作的TYPO3扩展。它附有this wiki page。如何更改此扩展的代码,使其属于USER_INT类型?即我不希望TYPO3缓存此插件的输出,并希望TYPO3在使用该扩展的页面上调用扩展,即禁用此扩展的缓存。

6 个答案:

答案 0 :(得分:6)

要禁用扩展程序的缓存,请转到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!

答案 1 :(得分:4)

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 :(得分:2)

解决问题的最简单方法是返回Extension Maganer,选择你的扩展,从下拉菜单中选择“在Kickstarter中编辑”,然后选择相应的前端插件来编辑它的属性。

选中第一个复选框,表示您希望将插件呈现为USER_INT cObjects。之后单击“查看结果”按钮,取消选中右侧的所有自定义PHP文件(您自己的代码,如模块和插件),然后单击“写入”按钮。请小心。如果您不取消选中自己文件的复选框,它们将被虚拟文件覆盖。

答案 3 :(得分:1)

这样做的正确和完整的方法是@arturh和@Mehdi Guermazi的答案的组合:

  1. 将ext_localconf.php中addPItoST43()调用中的最后一个参数从1更改为0
  2. 从pi1类头部的属性定义中删除var $pi_checkCHash = true;行。
  3. $this->pi_USER_INT_obj=1;行添加到pi1中main()函数的开头。
  4. 这些更改与使用@bencuss解决方案中解释的kickstarter方法时所获得的更改相同。

答案 4 :(得分:0)

使用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);

答案 5 :(得分:0)

修改扩展程序" myext"的文件setup.txt。改变"用户"进入" USER_INT"。

plugin.tx_myext = USER_INT
plugin.tx_myxt {

此扩展程序永远不会被缓存。