Внутренности шаблона

Примеры всех начальных шаблонов вы можете просмотреть в этой папке: просмотреть

Рассмотрим стандартный шаблон "galleryforuikit3". Просмотреть файл

  1. defined('_JEXEC') or die;

    это обязательно надо написать в любом шаблоне, чтобы не было прямых обращений к скрипту.

  2. if (!$field->value) { return; }

    Если у нас значения поля пустое, то нет смысла далее его обрабатывать и мы завершаем выполнение нашего шаблона.

  3. $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

  4. $listtype = $this->getListTypeFromField($field);
    В классе плагина поля заготовлен метод getListTypeFromField, который возвращает все заданные поля для сабформы. Вид массива, который возвращается:
    [ 
            [ 'title' => 'заданное имя в сабформе', 'type' => 'какое поле указано в сабформе' ],
            [ 'title' => 'заданное имя в сабформе', 'type' => 'какое поле указано в сабформе' ] 
    ]
  5. <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. Здесь проходится весь массив значений, внутри массива находятся ассоциативный массив, где ключ - это параметр "Имя поля для шаблона" из настроек поля.

После создания файла он отобразится в списке поля "Шаблон для сайта" при редактировании поля.