2010-04-18 85 views
4

我正在使用Symfony 1.3.2,并且我有一个使用来自另一个模块的部分的页面。Symfony缓存问题(缓存部分)

我有两个模块:'foo'和'foobar'。在'foo'模块中,我有一个'索引'操作,它使用'foobar'模块中的一部分。

所以富/ indexSuccess.php的看起来是这样的:

<?php 
<div id = 'container'> 
    <div id='part1'>Some data here</div> 
    <div id='part2'><?php include_partial('foobar/foobar_partial', $partial_params); ?></div> 
</div> 
?> 

我想缓存我富/ indexSuccess.php的页面的“第2部分”,因为这是非常昂贵(慢)。我希望缓存具有大约10分钟的生命周期。

在应用/前端/模块/富/配置/ cache.yml

我需要知道如何来缓存页的“第2部分”(即[很贵]部分页面的一部分。任何人都可以告诉我在cache.yml文件中需要什么条目?

回答

5

如果要缓存'foobar'模块的部分名为'part2',则需要将这些行添加到文件apps/frontend/modules/foob​​ar/config/cache.yml

_part2: 
    enabled: on 
    lifetime: 600 # 10 minutes 

当您然后调用您的索引操作中的部分操作foo中,缓存版本(如果可用)将显示:

<?php include_partial('foobar/part2') ?> 

如果你希望缓存不同版本的部分用于调用它的每个模板,你应该修改这样的cache.yml文件,就将:

_part2: 
    enabled: on 
    lifetime: 600 # 10 minutes 
    contextual: true