October CMS - создание компонент
В этом видеоуроке мы внесём немного bootstrap-а в наш html код дабы наш Todo List выглядел симпатичнее.
Функционал оставляем без изменений и орамляем наши коды bootstrap-ом.
Файл default.htm
{% set tasks = __SELF__.tasks %}
<form>
<div class="panel panel-default">
<div class="panel-heading">
<h1>Task assigned to: {{ __SELF__.name }}</h1>
</div>
<div class="panel-body">
<div class="input-group">
<input type="text" id="newItem" name="newTask" value="" class="form-control"/>
<span class="input-group-btn">
<button type="submit" class="btn btn-primary">Add</button>
</span>
</div>
<ul class="list-group" id="result">
{% for task in tasks %}
<li class="list-group-item">
{{task}}
<button class="close pull-right">×</button>
</li>
{% endfor %}
</ul>
</div>
</div>
</form>
Теперь давайте оптимизируем шаблон default.htm. Создадим новый partial и вынесем в него вывод задач.
Переходим в папку компонента и рядом с default.htm создаем tasks.htm со следующим содержимым:
<ul class="list-group" id="result">
{% for task in tasks %}
<li class="list-group-item">
{{task}}
<button class="close pull-right">×</button>
</li>
{% endfor %}
</ul>
А файл default.htm будет иметь вид:
{# set tasks = __SELF__.tasks #}
<form>
<div class="panel panel-default">
<div class="panel-heading">
<h1>Task assigned to: {{ __SELF__.name }}</h1>
</div>
<div class="panel-body">
<div class="input-group">
<input type="text" id="newItem" name="newTask" value="" class="form-control"/>
<span class="input-group-btn">
<button type="submit" class="btn btn-primary">Add</button>
</span>
</div>
{% partial __SELF__ ~ '::tasks' tasks=__SELF__.tasks %}
</div>
</div>
</form>