dongpalou5352 2013-12-10 15:53
浏览 28
已采纳

如何用Mustache覆盖部分

I've just started with Mustache.php and I'm looking for a way to add to my Mustache.php loader an override feature like the one used in Joomla.

I'm loading partials from the directory "views" and I'd like to tell to Mustache to read first the partials stored in "overrides" and then, if the partial is not found in that folder, look for it in the "views" folder.

At the moment I'm using this code to load my partials:

// Mustache templates path
$mustache_tpls = $_SERVER['BASE_DIR'] . '/views';

// Mustache options
$mustache_opts =  array('extension' => '.tpl');

// Mustache cache path
$mustache_cache = $_SERVER['BASE_DIR'] . '/tmp/cache/views';

// Init Mustache engine
$m = new Mustache_Engine(
    array(
        'cache'  => $mustache_cache,
        'loader' => new Mustache_Loader_FilesystemLoader(
            $mustache_tpls,
            $mustache_opts
        )
    )
);

How could I do?

  • 写回答

1条回答 默认 最新

  • dongtan5811 2013-12-10 18:01
    关注

    You're looking for the CascadingLoader:

    // Mustache templates paths
    $mustache_tpls          = $_SERVER['BASE_DIR'] . '/views';
    $mustache_override_tpls = $_SERVER['BASE_DIR'] . '/overrides';
    
    // Mustache options
    $mustache_opts =  array('extension' => '.tpl');
    
    // Mustache cache path
    $mustache_cache = $_SERVER['BASE_DIR'] . '/tmp/cache/views';
    
    // Cascading template loader
    $mustache_loader = new Mustache_Loader_CascadingLoader(array(
        new Mustache_Loader_FilesystemLoader($mustache_override_tpls, $mustache_opts),
        new Mustache_Loader_FilesystemLoader($mustache_tpls, $mustache_opts),
    ));
    
    // Init Mustache engine
    $m = new Mustache_Engine(
        array(
            'cache'  => $mustache_cache,
            'loader' => $mustache_loader
        )
    );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改
  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥20 MATLAB绘制两隐函数曲面的交线
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流
  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案