Сниппеты
Сниппеты - это то же самое, что и Чанки, только в сниппетах можно и нужно использовать PHP код. Создав сниппет и вызвав его на странице, будет выведен не текст сниппета а результат его выполнения, как PHP кода. Например если вы создадите сниппет содержащий такой код "echo 'Hello World';" то на месте его вызова отобразится лишь "Hello World";
При помощи сниппетов можно создавать как небольшие расширения базовых возможностей, такие как вывод последних сообщений форума или комментариев, так и довольно крупные приложения вроде рейтингов и голосований. И это все далеко не предел. В сниппетах Fapos CMS вас, пожалуй, ограничивает только ваша фантазия.
Стоит заметить, что сниппеты надо называть только латинскими буквами и цифрами. Без других символов вроде знаков препинания и кирилицы(если вы вызываете сниппет без параметров. Как передавать параметры в сниппет будет показано ниже.).
В отличии от Чанков, сниппеты вызываются в таком же регистре символов, как и назывались при создании. То есть, если вы назвали сниппет TeSt, то вызывать его надо так {[TeSt]}.
При вызове сниппетов таким образом {[TeSt]} происходит кэширование на один час. Это сделано с целью уменьшения нагрузки, ведь на одной странице может быть множество сниппетов. Для вызова сниппета в не кэшируемой ворме надо использовать такой вариант - {[!TeSt]}.
В сниппетах нельзя использовать <?php в начале и ?> в конце.
Его содержимое
// begin
?>
<ul>
<li>1 point</li>
<li>2 point</li>
<li>3 point</li>
</ul>
<?php
// end
И так же, у нас есть шаблон
<html>
<head>
<title>Test snipet</title>
</head>
<body>
{[test]}
</body>
</html>
Как видите, мы сразу вызвали в шаблоне наш сниппет командой {[test]}. Если такую страничку на Fapos CMS открыть в браузере то она примет следующий вид
<html>
<head>
<title>Test snipet</title>
</head>
<body>
<ul>
<li>1 point</li>
<li>2 point</li>
<li>3 point</li>
</ul>
</body>
</html>
В шаблоне произошла подмена кода вызова сниппета на его содержимое. Но это была вставка статического содержимого, мы как бы вставили обычный HTML код. От сюда и странные "// begin" и "// end". Для вызова динамического содержимого(PHP), сниппет должен содержать только сам код. Не должно даже быть начального и конечного тегов PHP.
Пример
function light() { $a = 3; return $a;}
Параметры добавляются к имени сниппета, по аналогии GET параметров в URL.
Пример:
{[!snippet_name?param1=value1&m2=value2]}
После этого в сниппете доступны PHP переменные $param1 и $param2.
Все очень просто.
При помощи сниппетов можно создавать как небольшие расширения базовых возможностей, такие как вывод последних сообщений форума или комментариев, так и довольно крупные приложения вроде рейтингов и голосований. И это все далеко не предел. В сниппетах Fapos CMS вас, пожалуй, ограничивает только ваша фантазия.
Стоит заметить, что сниппеты надо называть только латинскими буквами и цифрами. Без других символов вроде знаков препинания и кирилицы(если вы вызываете сниппет без параметров. Как передавать параметры в сниппет будет показано ниже.).
В отличии от Чанков, сниппеты вызываются в таком же регистре символов, как и назывались при создании. То есть, если вы назвали сниппет TeSt, то вызывать его надо так {[TeSt]}.
При вызове сниппетов таким образом {[TeSt]} происходит кэширование на один час. Это сделано с целью уменьшения нагрузки, ведь на одной странице может быть множество сниппетов. Для вызова сниппета в не кэшируемой ворме надо использовать такой вариант - {[!TeSt]}.
В сниппетах нельзя использовать <?php в начале и ?> в конце.
Пример
Допустим у нас есть сниппет с именем test.Его содержимое
// begin
?>
<ul>
<li>1 point</li>
<li>2 point</li>
<li>3 point</li>
</ul>
<?php
// end
И так же, у нас есть шаблон
<html>
<head>
<title>Test snipet</title>
</head>
<body>
{[test]}
</body>
</html>
Как видите, мы сразу вызвали в шаблоне наш сниппет командой {[test]}. Если такую страничку на Fapos CMS открыть в браузере то она примет следующий вид
<html>
<head>
<title>Test snipet</title>
</head>
<body>
<ul>
<li>1 point</li>
<li>2 point</li>
<li>3 point</li>
</ul>
</body>
</html>
В шаблоне произошла подмена кода вызова сниппета на его содержимое. Но это была вставка статического содержимого, мы как бы вставили обычный HTML код. От сюда и странные "// begin" и "// end". Для вызова динамического содержимого(PHP), сниппет должен содержать только сам код. Не должно даже быть начального и конечного тегов PHP.
Пример
function light() { $a = 3; return $a;}
Передача параметров в сниппеты
Эта возможность доступна начиная с версии 2.4 RC4.Параметры добавляются к имени сниппета, по аналогии GET параметров в URL.
Пример:
{[!snippet_name?param1=value1&m2=value2]}
После этого в сниппете доступны PHP переменные $param1 и $param2.
Все очень просто.