Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Кликабельные аватарки у всех, кроме гостей

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


     01.04.2013    Все вопросы » Общие вопросы по PHP    3523

вопрос
Решил сделать кликабельные аватарки, так как на мой взгляд это более удобней, да и красивее чем простая ссылка.
На странице с комментариями реализовал так:
<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
Юзер

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

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

Gopr
Юзер

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

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

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

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

наверх