2010-04-18 122 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