Cached current_user ??

Author Message

Christian Johansen

Tuesday 17 July 2007 1:13:03 am

I'm having a weird problem. I have a node view template that includes a template from design/myaccess/templates/xxx.tpl like so:

{include uri="design:xxx.tpl" somevar="someval"}

Inside xxx.tpl I do:

{if not(is_set($current_user))}
    {def $current_user=fetch(user, current_user)}
{/if}

When I enable caching this template seems to be caching the current user?? Is it supposed to that? Am I doing something wrong? I don't want to disable caching for this template, because it's a bit heavy to process. What can I do?

André R.

Tuesday 17 July 2007 1:52:16 am

the user is not cached, the html output is with the view cache.
The view cache does not cache pr user, but based on user rights instead.
So you'll need to disable view cache on this single page.

Search for 'cache_ttl' in the forum to find more in depth discussions on this.

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Christian Johansen

Tuesday 17 July 2007 3:40:45 am

Ok. I already have that in there, but it's pretty dissapointing because it means that I can't cache a rather complex template just because I want to display the name of the current user in the comments area of the node view :(

Is there something like cache-block that is valid inside a node view template? The user-dependent information is only a small part of the full page, the rest I would like cached.

If this is not possible, this will be the first time eZ is forcing me to redo my layout (as the performance is too poor without view caching), which is a shame really.

André R.

Tuesday 17 July 2007 4:24:43 am

Thats the point, you disable view_cache for this template but can use cache blocks instead.
Remember to keep the number of cache blocks as low as possible.

ps:

{if is_unset($current_user)}
   {def $current_user=fetch(user, current_user)}
{/if}

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Christian Johansen

Tuesday 17 July 2007 7:13:22 am

Allright. It makes perfect sense to me that you can use cache-block in node templates when view caching is disabled :) Gee, eZ never stops impressing me :) Thanks alot!

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 16:05:55
Script start
Timing: Jan 18 2025 16:05:55
Module start 'layout'
Timing: Jan 18 2025 16:05:55
Module start 'content'
Timing: Jan 18 2025 16:05:55
Module end 'content'
Timing: Jan 18 2025 16:05:55
Script end

Main resources:

Total runtime0.0133 sec
Peak memory usage2,048.0000 KB
Database Queries3

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0052 587.9141152.6250
Module start 'layout' 0.00520.0027 740.539139.4453
Module start 'content' 0.00790.0038 779.984493.4609
Module end 'content' 0.01170.0016 873.445338.3047
Script end 0.0133  911.7500 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.002216.4076140.0002
Check MTime0.00107.5097140.0001
Mysql Total
Database connection0.00075.026710.0007
Mysqli_queries0.002720.064030.0009
Looping result0.00000.103810.0000
Template Total0.00139.410.0013
Template load0.00075.162710.0007
Template processing0.00064.232510.0006
Override
Cache load0.00053.488310.0005
General
dbfile0.00021.470580.0000
String conversion0.00000.051940.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs