【问题标题】:Symfony caching question (caching a partial)Symfony缓存问题(缓存部分)
【发布时间】:2010-04-18 13:08:17
【问题描述】:

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

我有两个模块:“foo”和“foobar”。在模块 'foo' 中,我有一个 'index' 动作,它使用了来自 'foobar' 模块的部分。

所以 foo/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>
?>

我想缓存我的 foo/indexSuccess.php 页面的“part2”,因为它非常昂贵(慢)。我希望缓存的生命周期约为 10 分钟。

在apps/frontend/modules/foo/config/cache.yml中

我需要知道如何缓存页面的“第 2 部分”(即页面的 [非常昂贵] 部分。谁能告诉我 cache.yml 文件中需要哪些条目?

【问题讨论】:

    标签: symfony1


    【解决方案1】:

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

    _part2:
      enabled:  on
      lifetime: 600 # 10 minutes
    

    当您在 foo 中调用 index 操作的部分时,将显示缓存版本(如果可用):

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

    如果你想为调用它的每个模板缓存不同版本的部分,你应该像这样编辑 cache.yml 文件:

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

    【讨论】:

      猜你喜欢
      • 2013-03-26
      • 1970-01-01
      • 2011-08-12
      • 2021-10-03
      • 2016-04-29
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      相关资源
      最近更新 更多