Ответить
1
Сниппеты - кто такие
Отправлено: 10 Июн 2010#1
Сниппеты - кто такие
Сниппет - это то же самое, что и чанки, но с одним отличием - сниппет несет в себе не HTML код, а PHP.
Для того, что бы развеять вопросы, я приведу пример.
Допустим, Вы хотите выводить на странице приветствия. Для разных групп пользователей, разные приветствия. Для нас не секрет, что в DrunyaCMS группу пользователя можно узнать из сессии ($_SESSION['user']['status']). Например, обычный пользователь,
имеет в этом ключе значение 0, а модератор - 1.
Распологая этими знаниями, мы можем написать простой PHP код, который будет выводить различные приветствия, для различных групп.
Допустиим мы хотим выводить приветствие на странице
index.html
Все что нам надо это создать сниппет с любым именем, например "HELLO":
И затем добавить его на нашу страницу, следующим образом:
После этого, вместо {[HELLO]}, будет выводиться результат работы нашего PHP кода.
Вот и все, попробуйте сами написать сниппет и расскажите, что у Вас вышло
Сниппет - это то же самое, что и чанки, но с одним отличием - сниппет несет в себе не HTML код, а PHP.
Для того, что бы развеять вопросы, я приведу пример.
Допустим, Вы хотите выводить на странице приветствия. Для разных групп пользователей, разные приветствия. Для нас не секрет, что в DrunyaCMS группу пользователя можно узнать из сессии ($_SESSION['user']['status']). Например, обычный пользователь,
имеет в этом ключе значение 0, а модератор - 1.
Распологая этими знаниями, мы можем написать простой PHP код, который будет выводить различные приветствия, для различных групп.
Допустиим мы хотим выводить приветствие на странице
index.html
Code:
<html>
<head>
<title>My snippets test</title>
</head>
<body>
</body>
</html>
<head>
<title>My snippets test</title>
</head>
<body>
</body>
</html>
Все что нам надо это создать сниппет с любым именем, например "HELLO":
1
2
3
4
5
6
7
8
9
<?php $messages = array(
0 = 'Ku user',
1 = 'Hay moder',
2 = 'Hello admin',
3 = 'God day Great ADMIN',
);
if (!empty($messages[$_SESSION['user']['status']])) {
echo $messages[$_SESSION['user']['status']];
}?>
Code:
<html>
<head>
<title>My snippets test</title>
</head>
<body>
{[HELLO]}
</body>
</html>
<head>
<title>My snippets test</title>
</head>
<body>
{[HELLO]}
</body>
</html>
Вот и все, попробуйте сами написать сниппет и расскажите, что у Вас вышло

Отредактировано автором 10 Июн 2010
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 9 Дек 2010#2
Сниппеты. Дополнение для "чайников"
.
Вопрос: на юкозе можно узнать, зашел чел на сайт или нет! Хотю также!
Ответ: на фапосе можно то же самое и даже больше! Для этого используйте сниппет содержания:
Вместо echo "" - можете вставить любой код.
Вопрос: Как вложить сниппет в сниппет? То есть чтобы в сниппете можно было вставить другой сниппет?!
Ответ: По умолчанию в сниппетах не нужно открывать и закрывать <?php> тег. Из-за этого все трудности. Прежде чем использовать второй снипет, нужно закрыть предыдущий тегом ?>
Пример:
В данном случае, мы вставили сниппет {[menu]} в другой сниппет. При этом все работает и меню показывается только тем, кто вошел на сайт под своим логином.
Вопрос: Как в сниппете использовать html теги? Типа <div> <a href=...>...
Ответ: Очень просто, используйте echo ''; или закрывайте теги php.
Пример #1:
Пример #2:
.Вопрос: на юкозе можно узнать, зашел чел на сайт или нет! Хотю также!
Ответ: на фапосе можно то же самое и даже больше! Для этого используйте сниппет содержания:
Code:
if(isset($_SESSION['user']['name'])) {
echo "Вы авторизованы!";
} else {
echo "Войдите на сайт!";
}
echo "Вы авторизованы!";
} else {
echo "Войдите на сайт!";
}
Вместо echo "" - можете вставить любой код.
Вопрос: Как вложить сниппет в сниппет? То есть чтобы в сниппете можно было вставить другой сниппет?!
Ответ: По умолчанию в сниппетах не нужно открывать и закрывать <?php> тег. Из-за этого все трудности. Прежде чем использовать второй снипет, нужно закрыть предыдущий тегом ?>
Пример:
Code:
if(isset($_SESSION['user']['name'])) {
?>
{[menu]}
<?
} else {
echo "Войдите на сайт!";
}
?>
{[menu]}
<?
} else {
echo "Войдите на сайт!";
}
В данном случае, мы вставили сниппет {[menu]} в другой сниппет. При этом все работает и меню показывается только тем, кто вошел на сайт под своим логином.
Вопрос: Как в сниппете использовать html теги? Типа <div> <a href=...>...
Ответ: Очень просто, используйте echo ''; или закрывайте теги php.
Пример #1:
Code:
if(isset($_SESSION['user']['name'])) {
echo "Вы авторизованы!";
} else {
echo '<a href="/users/login_form/">Войдите под своим именем</a>';
}
echo "Вы авторизованы!";
} else {
echo '<a href="/users/login_form/">Войдите под своим именем</a>';
}
Пример #2:
Code:
if(isset($_SESSION['user']['name'])) {
echo "Вы авторизованы!";
} else {
?>
<a href="/users/login_form/">Войдите под своим именем</a>
<?
}
echo "Вы авторизованы!";
} else {
?>
<a href="/users/login_form/">Войдите под своим именем</a>
<?
}
1
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 10. Зарегистрированных: 0. Гостей: 10.
