Не нравятся результаты поиска? Попробуйте другой поиск!

Кликабельные аватарки у всех, кроме гостей


     01.04.2013    Общие вопросы по PHP    2020

вопрос
Решил сделать кликабельные аватарки, так как на мой взгляд это более удобней, да и красивее чем простая ссылка.
На странице с комментариями реализовал так:
<a href="/user/{login}"><img src="{foto}" alt=""/></a>

Но я сталкнулся с небольшой проблемой.
У меня на сайте разрешено добавлять комментарии Гостям.
Соответственно у них аватарки тоже кликабельные.
В итоге, при клике перекидывает на пустую страницу sait.ru/user/Гость
Сейчас у меня на уме два решения.
1. Запретить гостям писать свое имя, скрыв поле ввода имени, вписав туда
value="Гость"
. В итоге все имена от гостей будут "Гость". После сделать переадресацию с sait.ru/user/Гость на страницу, где будут описаны все возможности гостя на сайте. Только вот переадресацию я не знаю как делать с таким адресом. Наверное надо добавить что то в .htaccess.
2. Это запретить кликабельные аватарки от гостей. Но вот и тут подстава. В php я полный "пень с тупыми краями"
Хочется сделать на подобии тега {author} в комментах, который выводит либо ссылку на профиль пользователя либо выдает e-mail адрес Гостя. Но в моем случае надо если пользователь то ссылка на его профиль, а если гость то ничего.

Прошу помощи с реализацией одного из двух вариантов. Или подскажите альтернативный способ для кликабельности аватарок. В интернете я подобных хаков не находил.

Ответил: ПафНутиЙ


Откройте файл engine/classes/comment.class.php
найдите:
if( ! $row['user_group'] ) $row['user_group'] = 5;

ниже вставьте:
if($row['user_group'] == 5) {
    $tpl->set('[is-logged]', "");
    $tpl->set('[/is-logged]', "" );            
} else {
    $tpl->set_block("'\\[is-logged\\](.*?)\\[/is-logged\\]'si", "");            
}

в шаблоне comments.tpl заключайте то, что нужно показывать только у авторизованных пользователей в теги

Комментарии пользователей (2)

Gopr
10

494 | 164

Gopr - 1 апреля 2013 23:07 - Юзер

if( ! $row['user_group'] ) $row['user_group'] = 5; У меня нет такой строки в файле версия 9.7

Gopr
10

494 | 164

Gopr - 1 апреля 2013 23:52 - Юзер

И если я правильно понял ваш ответ, то только авторизованный пользователь сможет кликнуть на аватарку.
При этом не важно чья аватарка, пользователя или гостя. Авторизованный пользователь если нажмет на аватар гостя, то все равно попадет на страницу вида: sait.ru/user/имя гостя.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы