Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!
Пример реализации: комментарии в модуле «Новости сайта» по подписке
Пример реализации: комментарии в модуле «Новости сайта» по подписке
📌 Подробнее о возможностях нового модуля — на
лендинге.
Есть идеи или предложения? Поделитесь ими на портале обратной связи.
Есть идеи или предложения? Поделитесь ими на портале обратной связи.
Материал добавлен: 22 Мая 2025
Материал обновлен: 22 Мая 2025
Как изменить шаблон страницы
Перейдите во вкладку «Дизайн» → «Управление дизайном» → «Новости сайта» → «Страница материала и комментариев к нему» и замените участок кода про комментарии:
Было:
<?if($COM_IS_ACTIVE$)?> <?if($COM_CAN_READ$)?> <table class="entry-comments" border="0" cellpadding="0" cellspacing="0" width="100%"> <tr><td width="60%" height="25"><!--<s5183>-->Всего комментариев<!--</s>-->: <b>$COM_NUM_ENTRIES$</b></td><td align="right" height="25">$COM_PAGE_SELECTOR$</td></tr> <tr><td colspan="2">$COM_BODY$</td></tr> <tr><td colspan="2" align="center">$COM_PAGE_SELECTOR1$</td></tr> <tr><td colspan="2" height="10"></td></tr> </table> <?endif?> <?if($COM_CAN_ADD$)?>$COM_ADD_FORM$ <?else?> <?if($USER_LOGGED_IN$)?> <?else?> <div align="center" class="commReg"><!--<s5237>-->Добавлять комментарии могут только зарегистрированные пользователи.<!--</s>--><br />[ <a href="$REGISTER_LINK$"><!--<s3089>-->Регистрация<!--</s>--></a> | <a href="$LOGIN_LINK$"><!--<s3087>-->Вход<!--</s>--></a> ]</div> <?endif?> <?endif?> <?endif?>
Если вы хотите скрывать комментарии по условию наличия тарифа:
<?if($COM_IS_ACTIVE$)?> <?if($USER_LOGGED_IN$)?> <?if($SUBSCR_LAST_ID_AUTH$ = 2)?> <?if($COM_CAN_READ$)?> <div class="info-box"> <h3>Комментарии</h3> <table class="entry-comments" border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="60%" height="25"><!--<s5183>-->Всего комментариев<!--</s>-->: <b>$COM_NUM_ENTRIES$</b></td> <td align="right" height="25">$COM_PAGE_SELECTOR$</td> </tr> <tr><td colspan="2">$COM_BODY$</td></tr> <tr><td colspan="2" align="center">$COM_PAGE_SELECTOR1$</td></tr> </table> </div> <?endif?> <?if($COM_CAN_ADD$)?> <div class="info-box" style="margin-top: 20px;"> <h3>Оставьте свой комментарий</h3> $COM_ADD_FORM$ </div> <?else?> <div class="info-box" style="margin-top: 20px;"> <p><strong>У вас есть доступ к просмотру комментариев, но добавление доступно не для всех подписчиков.</strong></p> </div> <?endif?> <?else?> <div class="info-box"> <h3>Комментарии доступны по подписке</h3> <p>Чтобы просматривать и участвовать в обсуждениях, активируйте тариф с доступом к комментариям.</p> <p>Оформите подписку и получите полный доступ к общению и закрытым функциям сайта.</p> <div class="subs-entry-actions" style="margin-top:10px;"> <a class="button-link subs-entry-buy-link" href="/subscriptions">Оформить подписку</a> </div> </div> <?endif?> <?else?> <div class="info-box"> <h3>Комментарии только для подписчиков</h3> <p>Обсуждение материалов доступно только авторизованным пользователям с активной подпиской.</p> <p>Создайте учётную запись и подключите подписку, чтобы участвовать в жизни сообщества!</p> <div style="margin-top:10px;"> <a class="button-link subs-entry-buy-link" href="$LOGIN_LINK$">Войти</a> <a class="button-link subs-entry-buy-link" href="$REGISTER_LINK$">Зарегистрироваться</a> </div> </div> <?endif?> <?endif?>
Если вы хотите скрывать комментарии по условию группы пользователя:
<?if($COM_IS_ACTIVE$)?> <?if($USER_LOGGED_IN$)?> <?if($GROUP_ID$ != 0 && $GROUP_ID$ != 1)?> <?if($COM_CAN_READ$)?> <div class="info-box"> <h3>Комментарии</h3> <table class="entry-comments" border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="60%" height="25"><!--<s5183>-->Всего комментариев<!--</s>-->: <b>$COM_NUM_ENTRIES$</b></td> <td align="right" height="25">$COM_PAGE_SELECTOR$</td> </tr> <tr><td colspan="2">$COM_BODY$</td></tr> <tr><td colspan="2" align="center">$COM_PAGE_SELECTOR1$</td></tr> </table> </div> <?endif?> <?if($COM_CAN_ADD$)?> <div class="info-box" style="margin-top: 20px;"> <h3>Оставьте свой комментарий</h3> $COM_ADD_FORM$ </div> <?else?> <div class="info-box" style="margin-top: 20px;"> <p><strong>У вас активная подписка, но комментирование недоступно в рамках вашего тарифа.</strong></p> </div> <?endif?> <?else?> <div class="info-box"> <h3>Комментарии доступны только по подписке</h3> <p>Просмотр и участие в обсуждениях открыты только для пользователей с активной подпиской.</p> <p>Подключите подходящий тариф и получите доступ к полному функционалу сайта, включая комментарии.</p> <div class="subs-entry-actions" style="margin-top:10px;"> <a class="button-link subs-entry-buy-link" href="/subscriptions">Оформить подписку</a> </div> </div> <?endif?> <?else?> <div class="info-box"> <h3>Доступ к комментариям</h3> <p>Комментарии доступны только авторизованным пользователям с активной подпиской.</p> <p>Войдите или зарегистрируйтесь, чтобы подключить подписку и участвовать в обсуждениях.</p> <div style="margin-top:10px;"> <a class="button-link subs-entry-buy-link" href="$LOGIN_LINK$">Войти</a> <a class="button-link subs-entry-buy-link" href="$REGISTER_LINK$">Зарегистрироваться</a> </div> </div> <?endif?> <?endif?>
Что делает этот код
Данный блок шаблона uCoz управляет доступом к комментариям под новостями/публикациями. Он показывает или скрывает форму комментариев в зависимости от авторизации пользователя и наличия у него определённого тарифного плана (ID = 2) или принадлежности к определённой группе пользователей.
-
Проверка, включены ли комментарии
<?if($COM_IS_ACTIVE$)?>
Если функция комментариев отключена, код дальше не выполняется.
-
Проверка: авторизован ли пользователь
<?if($USER_LOGGED_IN$)?>
Ветвление логики: если пользователь авторизован — выполняются следующие проверки, если нет — показывается блок с приглашением авторизоваться и оформить подписку.
-
Авторизован и имеет тариф с ID = 2
<?if($SUBSCR_LAST_ID_AUTH$ = 2)?>
-
Проверка права на чтение комментариев
<?if($COM_CAN_READ$)?>
Если доступ разрешён — выводится таблица с комментариями:
$COM_NUM_ENTRIES$
— количество комментариев$COM_BODY$
— список комментариев$COM_PAGE_SELECTOR$
,$COM_PAGE_SELECTOR1$
— навигация по страницам
-
Проверка права на добавление комментариев
<?if($COM_CAN_ADD$)?>
Если разрешено — отображается форма комментариев:
$COM_ADD_FORM$
Если нет — показывается сообщение о недоступности добавления комментариев в рамках текущего тарифа.
-
-
Авторизован, но не имеет нужного тарифа
<?else?>
Показывается информационный блок с предложением оформить подписку:
- Текст о необходимости подписки
- Кнопка
<a href="/subscriptions">Оформить подписку</a>
-
Пользователь не авторизован (гость)
<?else?>
Отображается приглашение зарегистрироваться или войти:
- Краткое пояснение: «Комментарии доступны только авторизованным пользователям с подпиской»
- Кнопки «Войти» и «Зарегистрироваться».
Используемые переменные:
$COM_IS_ACTIVE$
— комментарии включены на странице$USER_LOGGED_IN$
— пользователь авторизован$SUBSCR_LAST_ID_AUTH$
— ID текущего тарифа пользователя$COM_CAN_READ$
— пользователь может читать комментарии$COM_CAN_ADD$
— пользователь может оставлять комментарии$COM_NUM_ENTRIES$
,$COM_BODY$
,$COM_ADD_FORM$
— содержимое комментариев и форма$LOGIN_LINK$
,$REGISTER_LINK$
— ссылки для авторизации и регистрации
Пример реализации: комментарии в модуле «Новости сайта» по подписке