Главная » Статьи » Документация » Дизайн и шаблоны
Категории
20 Окт 2015
Сниппеты - это то же самое, что и Чанки, только в сниппетах можно и нужно использовать PHP код. Создав сниппет и вызвав его на странице, будет выведен не текст сниппета а результат его выполнения, как PHP кода. Например если вы создадите сниппет содержащий такой код "echo 'Hello World';" то на месте его вызова отобразится лишь "Hello World";

При помощи сниппетов можно создавать как небольшие расширения базовых возможностей, такие как вывод последних сообщений форума или комментариев, так и довольно крупные приложения вроде рейтингов и голосований. И это все далеко не предел. В сниппетах Fapos CMS вас, пожалуй, ограничивает только ваша фантазия. 


Стоит заметить, что сниппеты надо называть только латинскими буквами и цифрами. Без других символов вроде знаков препинания и кирилицы(если вы вызываете сниппет без параметров. Как передавать параметры в сниппет будет показано ниже.).

В отличии от Чанков, сниппеты вызываются в таком же регистре символов, как и назывались при создании
12 Ноя 2014
  • Глобальные метки - это метки действующие в любом месте шаблона.
  • Локальные метки - это метки действующие только в определенных участках шаблона и на определенных страницах сайта

Перечень глобальных меток:

  • {{ pagination }} - постраничная навигация
  • {{ fps_pagescnt }} - количество доступных страниц со списком материалов
  • {{ fps_curr_page }} - номер текущей страницы со списком материалов
  • {{ navigation }} - хлебные крошки(например: Новости - все о AtomM - модули)
  • {{ add_link }} - ссылка на добавление материала (если нет прав, заменяется на пустое место)
  • {{ meta }} - кратко о странице/модуле (тут может выводится количество материалов в модуле и количество материалов на странице)
  • {{ fps_wday }} - текущий день
  • {{ fps_date }} - текущая дата
  • {{ fps_time }} - текущее время
  • {{ fps_year }} - текущий год
  • {{ powered_by }} - копирайт AtomX CMS
  • {{ site_title }} - имя сайта
[list][*]{{ person
3 Мая 2014
С недавних пор в AtomX реализована возможность мультиязычности и так как я принимал некоторое участие в переводе шаблона для очередной сборки то вкурил как это работает и хочу поделиться этим с нашими пользователями.
Перевод шаблона дело совсем не трудное даже для тех кто совсем не знаком ни с языками программирования ни с гипертекстовыми разметками , короче любой чайник при желании может перевести свой шаблон на любые языки.
Итак для начала находим папку template/ваш_шаблон/languages    там мы видим по умолчанию два языка Русский rus.php и Английский eng.php 
Это и есть переводы шаблона (не админки а именно шаблона)
открываем файл русского перевода
вот например:
Code:
'News'                   => 'Новости',
Слева это ключ справа соответственно сам перевод

Для того что бы этот перевод работал и для английского вставляем опять же ключ News и перевод в данном случае будет тоже News
Code:
'News'                   => 'News',
Теперь у нас есть п
30 Апр 2014
Теперь мы знаем как выводить переменные, но переменные бывают разные и выводиться они тоже могут в разных местах. Зачастую необходимо эти переменные экранировать, точнее экранировать HTML сущности в них, чтобы пользователи увидели текст, как текст, а не как HTML код. Это кстати спасает от такой плохой штуки как XSS. И вот тут нам на помощь приходят фильтры. Использовать фильтры очень просто:
1
2
3
4
<!-- Переводим HTML в простой текст в заголовке(используем фильтр escape) -->
<title>{{ title|escape }}</title>
<!-- Пример фильтра с параметром -->
<title>{{ title|match('#regexp#') }}</title>
Как видите, все предельно просто.

Доступные фильтры

версия >= 2.6 rc1

bbcode - парсинг бб-кодов в строке.
escape - аналог htmlspecialchars в PHP(преобразование HTML сущностей).
lang - перевод.
Начиная с версии 2.7.0 принимает один параметр(string) - контекст(lang('shop')).
urldecode - URL декодирование строки.
[b][/b]
27 Мар 2014
В шаблонах можно использовать синтаксис схожий с языком программирования. Это позволяет использовать такие плюшки как условные операторы, циклы, присваивание, фильтры. Далее я постараюсь раскрыть все возможности шаблонизатора(так называют интерпретаторы шаблонов).

Прежде всего, важно помнить, что неверно составленное условие или конструкция, может привести к ошибке и шаблон вообще не будет обработан, а вместо этого ты увидишь белый экран(если дебаг выключен) или ошибку(если дебаг включен). Так что старайся хорошо тестировать свои шаблоны, проверять все возможные пути развития событий. Например, если у тебя в шаблоне есть условие, необходимо проверить как этот код отработает в том случае когда условие верно и когда не верно. Такой подход поможет сэкономить тебе туеву хучу времени и нервов в будущем.

Но хватит подготовки - пора переходить к делу.

Переменные

Вся прелесть шаблонизатора заключается в том, что он может работать с конте
1