Примеры всех начальных шаблонов вы можете просмотреть в этой папке: просмотреть
Рассмотрим стандартный шаблон "galleryforuikit3". Просмотреть файл
defined('_JEXEC') or die;
это обязательно надо написать в любом шаблоне, чтобы не было прямых обращений к скрипту.
if (!$field->value) { return; }
Если у нас значения поля пустое, то нет смысла далее его обрабатывать и мы завершаем выполнение нашего шаблона.
$values = json_decode($field->value, JSON_OBJECT_AS_ARRAY);
Сабформа джумлы сохраняет все значения в виде JSON, поэтому надо декодировать эту строку для дальнейшей работы. Примечание: "JSON_OBJECT_AS_ARRAY" - это константа php для работы функций, которые обрабатывают JSON. В данном случае эта константа говорит, чтобы распарсенный JSON вернуть в виде массива. Все константы вы можете просмотреть по этой ссылке: http://php.net/manual/ru/json.constants.php
$listtype = $this->getListTypeFromField($field);
В классе плагина поля заготовлен метод getListTypeFromField, который возвращает все заданные поля для сабформы. Вид массива, который возвращается: [
[ 'title' => 'заданное имя в сабформе', 'type' => 'какое поле указано в сабформе' ],
[ 'title' => 'заданное имя в сабформе', 'type' => 'какое поле указано в сабформе' ]
]
<div class="uk-child-width-1-5@m" uk-grid uk-height-match="img" uk-lightbox="animation: slide">
<?php foreach ($values as $key => $row): ?>
<div>
<a class="uk-inline" href="<?= $row['image'] ?>" data-caption="<?= $row['alt'] ?>">
<img src="<?= $row['image']?>" alt="<?= $row['alt'] ?>"/>
</a>
</div>
<?php endforeach; ?>
</div>
Здесь указана сетка для front-framework uikit 3.x. Здесь проходится весь массив значений, внутри массива находятся ассоциативный массив, где ключ - это параметр "Имя поля для шаблона" из настроек поля.
После создания файла он отобразится в списке поля "Шаблон для сайта" при редактировании поля.