infastin
@infastin
PHP программист

Как продублировать файл в цикле PHP и вывести в главный шаблон Twig?

Существует шаблон:
<div class="col-md-4">
	<div class="panel panel-default">
		<div class="panel-heading">
			<center>
				{{ repositories.name }}
			</center>
		</div>
		<div class="panel-body">
			<center>
				<p id="version">Версия: 1.0.10 Alpha</p>
				<div id="buttons">
					<a href="#" class="btn btn-success">Скачать</a>
					<a href="#" class="btn btn-info">Подробнее</a>
				</div>
			</center>
		</div>
	</div>
</div>

Это шаблон надо продублировать в цикле PHP и вывести в шаблон main.layout, сам шаблон:
{% extends "base.layout" %}

{% block title %} Главная {% endblock title %}

{% block content %}
<center>
	<h1>Репозитории</h1>
</center>
<hr />
<!-- Repositories -->
{{ repos }}
<!-- end repositories -->
{% endblock content %}

В {{ repos }} и надо вставить продублированный шаблон.
Тоисть должно получится что-то такое:
{% extends "base.layout" %}

{% block title %} Главная {% endblock title %}

{% block content %}
<center>
	<h1>Репозитории</h1>
</center>
<hr />
<!-- Repositories -->
<div class="col-md-4">
	<div class="panel panel-default">
		<div class="panel-heading">
			<center>
				Title
			</center>
		</div>
		<div class="panel-body">
			<center>
				<p id="version">Версия: 1.0.10 Alpha</p>
				<div id="buttons">
					<a href="#" class="btn btn-success">Скачать</a>
					<a href="#" class="btn btn-info">Подробнее</a>
				</div>
			</center>
		</div>
	</div>
</div>
<div class="col-md-4">
	<div class="panel panel-default">
		<div class="panel-heading">
			<center>
				Title
			</center>
		</div>
		<div class="panel-body">
			<center>
				<p id="version">Версия: 1.0.10 Alpha</p>
				<div id="buttons">
					<a href="#" class="btn btn-success">Скачать</a>
					<a href="#" class="btn btn-info">Подробнее</a>
				</div>
			</center>
		</div>
	</div>
</div>
<!-- end repositories -->
{% endblock content %}
  • Вопрос задан
  • 220 просмотров
Решения вопроса 1
@skynetdev
Попробуй с помощью фильтра
twig.sensiolabs.org/doc/advanced.html
должно будет получится что-то вроде этого

....
       // регим фильтр в твиге
        $filter = new \Twig_SimpleFilter('dublicate', function($repo){
            return str_repeat($repo,2);  // здесь для дублирования можешь использовать и цикл если тебе сильно надо
        }, array('is_safe' => array('html');
        $this->twig->addFilter($filter);
.....


в самом шаблоне
{% extends "base.layout" %}

{% block title %} Главная {% endblock title %}

{% block content %}
<center>
  <h1>Репозитории</h1>
</center>
<hr />
<!-- Repositories -->
{{ repos|dublicate }}
<!-- end repositories -->
{% endblock content %}


Дальше уже сам пробуй.
Надеюсь у тебя все получится
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы