October CMS - создание компонент
Создадим новое свойство у нашего компонента:
/** * The collection of tasks. * @var array */ public $tasks;
В данной переменной мы будем хранить наши задачи списка дел.
Для простоты понимания изначально заполним их тестовыми значениями (вместо того чтобы сразу работать с БД).
Делать это мы будем в методе onRun:
public function onRun() { $this->name = 'st'; $this->tasks = [ 'task1', 'task2', 'task3', ]; }
Теперь нам надо выполнить вывод этих задач.
Если ранее мы делали это средствами CMS, то сейчас давайте сделаем это в нашей IDE.
Для этого откроем файл /public/themes/demo/pages/st-todo.html
//... == {% set tasks = stTodoList.tasks %} <ul> {% for task in tasks %} <li> {{task}} </li> {% endfor %} </ul> {% component 'stTodoList' %}
Тестируем. Открываем страницу http://october.local/st-todo
И если мы все записали верно, то у нас отобразится список наших задач.
Далее.
Логично будет перенести этот код из шаблона страницы в сам компонент.
В самом шаблоне st-todo.html оставляем лишь подключение компонента.
И только что написанный код переносим в файл default.htm:
<h1>Task assigned to: {{ __SELF__.name }}</h1> {% set tasks = __SELF__.tasks %} <ul> {% for task in tasks %} <li> {{task}} </li> {% endfor %} </ul>
Созраняемся, проверяем - все должно остаться без изменений.