How to disable cache while developing

How to disable cache ? Its annoying to have to delete cache and compiled templates to see the modifications.

I tried this but didn't work.

Added a config var in config file

$config['smarty_caching'] = 0 ;

Added function in my changes addon

function fn_mychanges_init_templater($view, $view_mail)
if(Registry::get('config.smarty_caching') == 0){
$view->caching = 0 ;


Enable development mode at the bottom right of admin screen.

I cannot see development mode, all I see is live mode. I am using multivendor edition.

If you see “Live Mode” at the bottom of your screen then you are in Development Mode. If you see Development Mode, then you are in Live Mode.

Remember that 'cache' and 'compiled' are two separate things. The 'cache' refers to the Registry. I.e. data from the db like settings, language varialbles, etc. and the 'compiled' is the compiled pages. If you're in Development Mode than pages are not cached in the 'compiled' directory, but the Registry cache is active. I believe this is what you want for development.

Note that to add a new hook you still need to clear the compiled pages cache. After that, any change to the hook will be immediate.

This means I am in development mode. But still I have to delete compiled folders contents sometimes to see my template edits.

I think I will have a write a code in init.php to delete compiled folders contents, when developing.

Only when you add a new hook file. Hooks are always read (not cached), and I believe they are not cached even in Live mode. But to get the template engine to “include a hook”, it needs to recompile the page.