Как обновить путь загрузчика шаблонов в Mustache?

Я пытаюсь определить альтернативный путь загрузчика шаблона/шаблона по умолчанию на случай, если первый не будет найден.

В настоящее время я инициализирую усы следующим образом:

$m = new Mustache_Engine(array(
'loader' => new Mustache_Loader_FilesystemLoader($templates_path,array('extension'=>'.php'))
));

И затем я визуализирую шаблон:

$m->render($my_template_path, $fields);

Метод рендеринга вызывается несколько раз в одном и том же экземпляре Mustache. Это отлично работает, но я не уверен, как обновить путь загрузчика без создания нового экземпляра Mustache.

Я читал документы, но у меня не получилось . Я пробовал использовать $loader->load() вместо рендеринга. Это позволяет мне изменить путь, но не отображает переменные.


person gdaniel    schedule 17.08.2016    source источник


Ответы (1)


Итак... Я полностью пропустил опцию CascadingLoader, которая позволяет мне устанавливать несколько загрузчиков. Я получил запасной путь для загрузки, обновив свой код до:

$m = new Mustache_Engine(array(
    'loader'=> new Mustache_Loader_CascadingLoader(array(
               new Mustache_Loader_FilesystemLoader($templates_path,array('extension'=>'.php')),
               new Mustache_Loader_FilesystemLoader($alt_path,array('extension'=>'.php'))
    ))
));
person gdaniel    schedule 17.08.2016