Кто-нибудь нашел способ динамически отображать партиалы?
Я нашел этот ссылка на сайт для mustache.js, но я не уверен, как реализовать это в php, и есть ли еще, чтобы сделать это в php. Даже если это был метод логического флага в примере по ссылке.
Основы этого заключаются в выборе партиала на основе файла представления. Делаем частичный выбор динамическим и не указываем его в шаблоне.
Я пробовал использовать именно этот метод, но безуспешно.
Контент по ссылке:
Вид:
{
items: [
{ type: 'image', url: 'Some URL', is_image: true },
{ type: 'text', content: 'Some text', is_text: true }
]
}
Шаблон:
база. усы
{{#items}}
{{#is_text}}
{{>text}}
{{/is_text}}
{{#is_image}}
{{>image}}
{{/is_image?}}
{{/items}}
текст. усы
<p>{{content}}</p>
изображение. усы
<p><img src = "{{url}}"/></p>
... можно заменить на:
Вид:
{
items: [
{ partial: 'text', content: 'Some text' },
{ partial: 'image', url: 'Some URL' }
]
}
Шаблон:
база. усы
{{@items}}
текст. усы
<p>{{content}}</p>
изображение. усы
<p><img src = "{{url}}"/></p>
Немного посмотрев вниз по ссылке, которую вы разместили, я увидел, что оператор отправил тикет на динамические частичные как спецификация усов. Просматривая там, я обнаружил следующее, опубликованное thelucid, которое достигает цели, хотя и не так красиво, как метод, на который надеетесь вы и groue.
{
items: [
{ url: 'Some URL', html: function() { return '{{>image}}'; } },
{ content: 'Some text', html: function() { return '{{>text}}'; } },
]
}
base.mustache
{{#items}}
{{{html}}}
{{/items}}
text.mustache
<p>{{content}}</p>
image.mustache
<p><img src = "{{url}}"/></p>
Я считаю, что функцию html можно заменить просто строкой с тем же значением, но у меня нет настройки, где я мог бы проверить это прямо сейчас.
К сожалению, последний комментарий, кроме пары человек, проявивших интерес к теме, был в январе 2013 года, поэтому я собираюсь рискнуть и сказать, что на данный момент маловероятно, что из этого что-то выйдет.