20 Окт 2015
Сниппеты - это то же самое, что и Чанки, только в сниппетах можно и нужно использовать PHP код. Создав сниппет и вызвав его на странице, будет выведен не текст сниппета а результат его выполнения, как PHP кода. Например если вы создадите сниппет содержащий такой код "echo 'Hello World';" то на месте его вызова отобразится лишь "Hello World";
При помощи сниппетов можно создавать как небольшие расширения базовых возможностей, такие как вывод последних сообщений форума или комментариев, так и довольно крупные приложения вроде рейтингов и голосований. И это все далеко не предел. В сниппетах Fapos CMS вас, пожалуй, ограничивает только ваша фантазия.
Стоит заметить, что сниппеты надо называть только латинскими буквами и цифрами. Без других символов вроде знаков препинания и кирилицы(если вы вызываете сниппет без параметров. Как передавать параметры в сниппет будет показано ниже.).
В отличии от Чанков, сниппеты вызываются в таком же регистре символов, как и назывались при создании
При помощи сниппетов можно создавать как небольшие расширения базовых возможностей, такие как вывод последних сообщений форума или комментариев, так и довольно крупные приложения вроде рейтингов и голосований. И это все далеко не предел. В сниппетах 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 }} - имя сайта
3 Мая 2014
С недавних пор в AtomX реализована возможность мультиязычности и так как я принимал некоторое участие в переводе шаблона для очередной сборки то вкурил как это работает и хочу поделиться этим с нашими пользователями.
Перевод шаблона дело совсем не трудное даже для тех кто совсем не знаком ни с языками программирования ни с гипертекстовыми разметками , короче любой чайник при желании может перевести свой шаблон на любые языки.
Итак для начала находим папку template/ваш_шаблон/languages там мы видим по умолчанию два языка Русский rus.php и Английский eng.php
Это и есть переводы шаблона (не админки а именно шаблона)
открываем файл русского перевода
вот например:
Слева это ключ справа соответственно сам перевод
Для того что бы этот перевод работал и для английского вставляем опять же ключ News и перевод в данном случае будет тоже News
Теперь у нас есть п
Перевод шаблона дело совсем не трудное даже для тех кто совсем не знаком ни с языками программирования ни с гипертекстовыми разметками , короче любой чайник при желании может перевести свой шаблон на любые языки.
Итак для начала находим папку template/ваш_шаблон/languages там мы видим по умолчанию два языка Русский rus.php и Английский eng.php
Это и есть переводы шаблона (не админки а именно шаблона)
открываем файл русского перевода
вот например:
Code:
'News' => 'Новости',
Для того что бы этот перевод работал и для английского вставляем опять же ключ News и перевод в данном случае будет тоже News
Code:
'News' => 'News',
30 Апр 2014
Теперь мы знаем как выводить переменные, но переменные бывают разные и выводиться они тоже могут в разных местах. Зачастую необходимо эти переменные экранировать, точнее экранировать HTML сущности в них, чтобы пользователи увидели текст, как текст, а не как HTML код. Это кстати спасает от такой плохой штуки как XSS. И вот тут нам на помощь приходят фильтры. Использовать фильтры очень просто:
Как видите, все предельно просто.
escape - аналог htmlspecialchars в PHP(преобразование HTML сущностей).
lang - перевод.
Начиная с версии 2.7.0 принимает один параметр(string) - контекст(lang('shop')).
urldecode - URL декодирование строки.
[b][/b]
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