HTML — Усы PHP Поместите шаблон в шаблон

Я пытаюсь использовать PHP-реализацию Mustache для встраивания некоторого html-контента в шаблон:

[mytemplate begin]
[html content]
[mytemplate end]

Мой html-контент находится в html-файле, и при попытке его рендеринга у меня появляется ошибка:

echo $template->render(array('content' => file_get_contents('content.html')));

Вот ошибка:

Неустранимая ошибка: достигнут максимальный уровень вложенности функции «100», прерывание! в C: \ wamp \ www \ resume \ application \ mustache \ src \ Mustache \ Engine.php в строке 257

Как я могу вставить его как HTML-контент?

файл section.mustache (я удалил огромную часть HTML-кода, там только самое важное)

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<!-- CONTENT -->
<div class="container">
{{> section}}
</div>
</body>
</html>

И файл content.html (Учтите, что есть два других <section> с таким же количеством кода)

<div class="section">
<!--   Icon Section   -->
<div class="row">
<div class="col s12 m8 offset-m2 l8 offset-l2">
<section id="sports" class="section scrollspy">
<h1>Sports</h1>
<div class="card">
<div class="card-image waves-effect waves-block waves-light">
<img src="media/images/climbing.jpg">
</div>
<div class="card-content">
<span class="card-title activator grey-text text-darken-4">Escalade<i class="mdi-navigation-more-vert right"></i></span>
</div>
<div class="card-reveal z-depth-3">
<span class="card-title grey-text text-darken-4"><h4>Escalade</h4><i class="mdi-navigation-close right"></i></span>
<p class="flow-text">Here is some more information about this product that is only revealed once clicked on. </p>
</div>
</div>
<div class="card">
<div class="card-image waves-effect waves-block waves-light">
<img src="media/images/snowboard.jpg">
</div>
<div class="card-content">
<span class="card-title activator grey-text text-darken-4">Snowboard<i class="mdi-navigation-more-vert right"></i></span>
</div>
<div class="card-reveal">
<span class="card-title grey-text text-darken-4"><h4>Snowboard</h4><i class="mdi-navigation-close right"></i></span>
<p class="flow-text">Here is some more information about this product that is only revealed once clicked on.</p>
</div>
</div>
</section>
</div>
<div class="col hide-on-small-only s12 m2 l1">
<div style="height: 1px;">
<ul class="section table-of-contents pinned" style="top: 0px;">
<li><a href="#sports" class="">Sports</a></li>
</ul>
</div>
</div>
</div>
</div>

0

Решение

Вы немного потеряли в именах. Усы собираются угадать, какой шаблон должен быть включен по названию. Это сказало,

{{> section}}

включает в себя section.mustache, Так как он появляется в вашем section.mustacheДвигатель пытается рекурсивно вставить его в себя. По-видимому, это приводит к бесконечному циклу, который заканчивается на уровне вложенности 100 с ошибкой, которую вы получили.

Вы должны переименовать content.html в content.mustache и включать контент:

{{> content}}

Надеюсь, поможет.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]