Усы Php: конструктор частичных не работает - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь загрузить храм, и внутри этого шаблона есть частичный (вложенный шаблон).Разве конструктор партиалов не должен отображать частичную content?Логика сделана неправильно?Подобный вопрос здесь , но реализация отличается, и нет ответа.Вопрос, казалось, умер или был направлен на несколько похожий вопрос, но мой также отличается в реализации.

base.mustache:

<body>  
{{>content}}
</body>

Конструктор усов:

if(!isset($this->mustache)){
            $options = array(
              'loader'=> new Mustache_Loader_FilesystemLoader('path/to/templates/'),
              'partials_loader' => new Mustache_Loader_FilesystemLoader('path/to/partials'),
              'partials' => array(
                  'content'=> $this->module->tplFile
              )
            );
            $this->mustache = new Mustache_Engine($options);
        }

Шаблон визуализации:

public function display()
    {
      $this->mustache->render('base.mustache');
    }

1 Ответ

0 голосов
/ 24 августа 2018

Прежде всего, вы даже не загрузили шаблон.

Просто отредактируйте свою часть шаблона рендеринга следующим образом:

public function display(){
  $this->mustache->loadTemplate('base')->render();
}

Почему просто «база» не «base.mustache ', вы можете спросить.

Ну, усы по умолчанию загружают файл .mustache, поэтому, если вы используете $this->mustache->loadTemplate('foo'), он автоматически загрузит файл foo.mustache по указанному вами путидля загрузчика файлов.

Для получения дополнительной информации вы можете зарегистрироваться в разделе Загрузка шаблона на официальной вики mustache.php.

Кстати, мой английский отстой, такнадеюсь, вы понимаете, что я говорю.

...