我有一个工作的TYPO3扩展。它附有this wiki page。如何更改此扩展的代码,使其属于USER_INT类型?即我不希望TYPO3缓存此插件的输出,并希望TYPO3在使用该扩展的页面上调用扩展,即禁用此扩展的缓存。
答案 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的答案的组合:
addPItoST43()
调用中的最后一个参数从1更改为0 var $pi_checkCHash = true;
行。$this->pi_USER_INT_obj=1;
行添加到pi1中main()函数的开头。这些更改与使用@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 {
此扩展程序永远不会被缓存。