views:

1407

answers:

4

I have a working TYPO3 extension. It is attached this wiki page. How can I change the code of this extension so it is of the USER_INT type? I.e. I don't want TYPO3 to cache the output of this plugin, and want TYPO3 to invoke the extension ever time a page that uses the extension, i.e. disable the caching for this extension.

+2  A: 

To disable caching for your extension go to your piX/class.tx_XXX_piX.php file and remove the following line (below your class declaration):

var $pi_checkCHash = true;

You also need to add the following line in the main method (below $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!
arturh
I am now on some other project and don't have the environment to test this, but this will be useful information for other people who have the same problem. Thank you for your response.
Alessandro Vernet
This does not disable caching, it only disable the checking for the cHash parameter.
Prot0
A: 

When you have created your extension with Kickstarter you also have to go to the file [yourextension]/ext_localconf.php and change this line

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

to this:

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

grunwalski it's the opposite you have to change this:

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

to this:

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

The simpliest way to solve your problem is to go back to Extension Maganer, select your extension, choose "Edit in Kickstarter" from the dropdown menu, and then select the corresponding Frontend plugin to edit it's properties.

Check the first checkbox which means that you want your plugins to be rendered as USER_INT cObjects. After that click the View result button, uncheck all custom PHP files (your own code, like modules and plugins) on the right side and click the WRITE button. Please be careful. If you don't uncheck the checkboxes of your own files, they will be overwritten with dummy files.

bencuss