Вложенные теги в Mustache.php

Я использую Mustache для php для отображения своих веб-страниц. Я играл с кодом в ветке разработки на github и нашел некоторые интересные инструкции. Например, я знаю, что можно динамически загружать партиалы, определяя для них вспомогательную функцию. Однако я не могу найти способ сделать вложенные теги следующим образом:

{{article.{{page.name}}}}

Возможно ли это с помощью какой-то вспомогательной функции или функции более высокого порядка?


person Maarten    schedule 27.12.2012    source источник


Ответы (1)


Вы можете использовать Lambdas для достижения чего-то подобного. Цитата из вики Mustache.php:

Когда значение является вызываемым — например, анонимная функция — вызываемый объект будет вызван и передан блок текста.

Итак, в вашем шаблоне усов следующее:

{{#article_field}}{{page.name}}{{/article_field}}

С таким классом просмотра:

class View_Page {

    public $_article;

    public function article_field()
    {
        return function($string)
        {
            return $this->_article[$string];
        }
    }
}

Будет выведено поле article, имя которого находится в значении свойства page.name.

Посетите официальную вики-страницу Mustache.php, чтобы узнать больше о лямбда-выражениях и вызываемых объектах. .

person rafi    schedule 10.01.2013