6

我有一个有效的 TYPO3 扩展。它附在这个 wiki 页面上。如何更改此扩展程序的代码,使其属于 USER_INT 类型?即,我不希望 TYPO3 缓存此插件的输出,并且希望 TYPO3 每次使用扩展名的页面都调用扩展名,即禁用此扩展名的缓存。

4

6 回答 6

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!
于 2009-02-18T12:47:04.360 回答
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);
于 2009-04-03T20:10:08.140 回答
2

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

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

于 2010-07-07T11:43:47.973 回答
1

正确和完整的方法是结合@arturh 和@Mehdi Guermazi 的答案:

  1. addPItoST43()将ext_localconf.php中调用的最后一个参数从 1 更改为 0
  2. var $pi_checkCHash = true;从 pi1 类头部的属性定义中删除该行。
  3. 将该行添加$this->pi_USER_INT_obj=1;到 pi1 中 main() 函数的开头。

这些更改与您使用@bencuss 解决方案中解释的kickstarter 方法时所获得的相同。

于 2014-02-21T15:32:19.693 回答
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);
于 2009-04-03T18:56:30.453 回答
0

编辑扩展“myext”的文件 setup.txt。将“USER”更改为“USER_INT”。

plugin.tx_myext = USER_INT
plugin.tx_myxt {

这个扩展永远不会被缓存。

于 2014-08-16T13:11:53.150 回答