Документация по переменным пользователя и владельца контента в Cotonti 0.9.26
Введение
Cotonti предоставляет глобальные переменные и теги для шаблонов, которые позволяют работать как с текущим авторизованным пользователем, так и с владельцем просматриваемого контента (страница, профиль, пост и т. п.).
В шаблонах эти данные можно использовать через синтаксис CoTemplate, например:
{PHP.usr.id}
{PHP.usr.profile.user_name}
{PHP.urr.user_id}
Основные переменные
1. {PHP.usr.profile.user_name}
Что это?
- Логин (никнейм) текущего авторизованного пользователя.
- Хранится в профиле (
user_name).
Пример использования:
Привет, {PHP.usr.profile.user_name}!
Результат:
Привет, john_doe!
Где используется:
- Для отображения логина текущего пользователя в интерфейсе.
Проверка в шаблоне:
<!-- IF {PHP.usr.profile.user_name} -->
Привет, {PHP.usr.profile.user_name}!
<!-- ELSE -->
Вы не авторизованы.
<!-- ENDIF -->
2. {PHP.usr.name}
Что это?
- Полное имя (реальное), если указано пользователем.
- Отличается от логина: может быть «John Doe» вместо «john_doe».
Пример использования:
Ваше полное имя: {PHP.usr.name}
Результат:
Ваше полное имя: John Doe
Где используется:
- В личных сообщениях, профиле, где нужно отобразить настоящее имя.
Проверка в шаблоне:
<!-- IF {PHP.usr.name} -->
Ваше полное имя: {PHP.usr.name}
<!-- ELSE -->
Вы не указали полное имя.
<!-- ENDIF -->
3. {PHP.usr.id}
Что это?
- Уникальный ID текущего авторизованного пользователя.
- Хранится в базе данных (
user_id).
Пример использования:
Ваш ID: {PHP.usr.id}
Результат:
Ваш ID: 123
Где используется:
- Для генерации ссылок на профиль.
- Для проверки прав доступа.
Проверка в шаблоне:
<!-- IF {PHP.usr.id} -->
Ваш ID на сайте: {PHP.usr.id}
<!-- ELSE -->
Вы не авторизованы.
<!-- ENDIF -->
4. {PHP.urr.user_name}
Что это?
- Логин (никнейм) владельца текущей страницы или контента.
- Используется для вывода имени пользователя, которому принадлежит объект.
Пример использования:
Страница принадлежит пользователю: {PHP.urr.user_name}
Результат:
Страница принадлежит пользователю: admin
Где используется:
- На страницах профиля других пользователей.
- В статьях, блогах, постах для отображения автора.
Проверка в шаблоне:
<!-- IF {PHP.urr.user_name} -->
Страница принадлежит пользователю: {PHP.urr.user_name}
<!-- ELSE -->
Этот контент не принадлежит пользователю.
<!-- ENDIF -->
5. {PHP.urr.user_id}
Что это?
- Уникальный ID владельца текущей страницы или контента.
- Отличается от
{PHP.usr.id}, потому что может быть ID другого пользователя.
Пример использования:
ID владельца страницы: {PHP.urr.user_id}
Результат:
ID владельца страницы: 456
Где используется:
- Для вывода ссылки на профиль владельца контента.
- Для проверки совпадения ID владельца и текущего пользователя.
Проверка в шаблоне:
<!-- IF {PHP.urr.user_id} -->
Этот пост принадлежит пользователю с ID: {PHP.urr.user_id}
<!-- ELSE -->
Этот контент не имеет владельца.
<!-- ENDIF -->
Сравнение переменных
| Переменная | Что показывает | Для кого |
{PHP.usr.profile.user_name} | Логин (ник) | Текущий пользователь |
{PHP.usr.name} | Полное имя (реальное) | Текущий пользователь |
{PHP.usr.id} | ID пользователя | Текущий пользователь |
{PHP.urr.user_name} | Логин (ник) | Владелец текущего контента |
{PHP.urr.user_id} | ID пользователя | Владелец текущего контента |
Объединённый пример использования
<!-- Проверка, если пользователь авторизован -->
<!-- IF {PHP.usr.id} -->
Привет, {PHP.usr.name}! Ваш логин: {PHP.usr.profile.user_name}. Ваш ID: {PHP.usr.id}.
<!-- ELSE -->
Вы не авторизованы.
<!-- ENDIF -->
<!-- Проверка владельца страницы -->
<!-- IF {PHP.urr.user_name} -->
Страница принадлежит пользователю: {PHP.urr.user_name}, ID владельца: {PHP.urr.user_id}.
<!-- ELSE -->
Этот контент не принадлежит пользователю.
<!-- ENDIF -->
Зачем нужны проверки
- Гости (не авторизованные пользователи): у них нет
usr.id, usr.profile.user_name и других данных. - Отсутствие владельца: контент может быть «системным» или без хозяина.
- Избежание ошибок: пустые значения в шаблонах могут ломать логику отображения.
Итог
- Используйте
{PHP.usr.*} для отображения данных текущего пользователя. - Используйте
{PHP.urr.*} для отображения данных владельца текущего контента. - Всегда добавляйте проверки (
IF/ELSE) для корректного отображения.