You don't have to do anything with caching at the render API level. Just
turn on block caching, and it works by default.

Shameless plug about render api resources, though: The render example in
Examples for Developers shows how to do render-api caching and any number of
other cool thinks with the render API. And
http://drupal.org/node/930760gives an introduction to the whole thing.

-Randy

On Sat, Dec 11, 2010 at 5:36 AM, Fredrik Sandve Kilander <
[email protected]> wrote:

> Ah, what a slap-in-the-forhead-moment :) Thank you.
>
> On a side note, and in regards to my original secon question about best
> practice:
> The '#cache' property in the render array used for the block content is not
> necessary then, if I understand the mechanics correctly? This would only add
> a superfluous extra layer of caching?
>
> -fredrik
>
> *Fra: *Randy Fay <[email protected]>
> *Emne: **Re: [development] Block caching in D7*
>
> Hi Fredrik -
>
> I think you may have been testing as user 1.  I started testing your
> problem and noticed the same thing and started debugging and then noticed
> this code:
>
> function _block_get_cache_id($block) {
>   global $user;
>
>   // User 1 being out of the regular 'roles define permissions' schema,
>   // it brings too many chances of having unwanted output get in the cache
>   // and later be served to other users. We therefore exclude user 1 from
>   // block caching.
>
> My testing (after I logged in as a different user) did show caching work
> correctly, at least in casual testing.
>
> As a result of your note I've added a timestamp into one of the blocks
> provided by the Block Example module, part of the Examples project (
> http://drupal.org/project/examples) so that one can easily explore whether
> caching is happening or not. When http://drupal.org/node/995316 goes in
> (maybe tonight) it will make an easier way to explore block caching.
>
> -Randy
>
>


-- 
Randy Fay
Drupal Module and Site Development
[email protected]
+1  970.462.7450

Reply via email to