Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Какой параметр отвечает за наличие закаченной аватары пользо

02.10.2007, 00:20
Гость
Гость

Какой параметр отвечает за наличие закаченной аватары пользователем?

Поле ForumAvatar типа файл в шаблоне пользователи, но почему-то это не прокатывает в отображении объекта в шаблоне:
:

".opt_case($f_ForumAvatar,"1","2")."

и как следствие это:
Код:
<img src=".opt_case($f_ForumAvatar,"".nc_file_path('User', $f_RowID, 'ForumAvatar', 'h_')."","/images/avatara.gif")." width="60" height="60" border="0">


Требуется, если была не добавлена аватара, подставить типовую.
02.10.2007, 13:10
h/z

Зарегистрирован:
2007-02-06
Сообщений: 755

1) поле ForumAvatar не в шаблоне "Пользователи" а в системных таблицах
2) если в информации пользователя заполнено поле ForumAvatar (закачан файл),
то условие ".opt_case($f_ForumAvatar,"1","2")." выведет "1"
3) проверьте названия полей, условия.. скорее всего где-то опечатка у вас

p.s. кстати переменная $f_ForumAvatar (тип поля файл) содержит путь к файлу, вычислять его еще раз не требуется.
02.10.2007, 16:14
Гость
Гость

Да, спасибо, в системных таблицах "пользователи" в отображении объекта все выводится корректно.

А как реализовать проверку условия

Код:

".opt_case($f_ForumAvatar,"1","2")."


в префиксе шаблона "комментарии к статье"
02.10.2007, 17:16
h/z

Зарегистрирован:
2007-02-06
Сообщений: 755

переменные такого рода "$f_" содержат только данные из конкретного шаблона который в данный момент просматриваете.

для работы с данными пользователя существует модуль "Интерфейс пользователя", если он установлен, то все данные пользователя доступны через массив $current_user

ваше поле соответственно:
$current_user[ForumAvatar]
02.10.2007, 21:47
Гость
Гость

Я наверное неправильно сформулировал.
Требуется отображать аватары пользователей, если они есть, или если нет, ставить дефолтную картинку в комменариях к статье.


1. Как в шаблоне комментарий запросом вытянуть аватару с абраказябристым именем файла:

Код:

".listQuery("select b.Created AS TimeOfAdd, b.Message_ID, b.User_ID, b.Text AS Text1, a.User_ID, SUBSTRING_INDEX(a.ForumAvatar,':',1) as picname, a.ForumAvatar, a.Login AS Login1 from Message75 AS b, User AS a where Number=$id AND a.User_ID=b.User_ID","

<img src=/netcat_files/u/h_$data[picname] border=0>”).”



Сейчас вместо $data[picname] подставляется реальное имя файла.



2. Вот это работает, но для пользователя id=1, или с $current_user для авторизованного пользователя

Код:

<img src=".nc_file_path('User', 1, 'ForumAvatar', 'h_')." width=80 height=80 border=0>


А необходимо для всех пользователей оставляющих комментарий!
Не могу вытащить id пользователя (точнее втащить в конструкцию nc_file_path).



Пытался id пользователя подставить так:

Код:

<img src=".nc_file_path('User',listQuery("select b.Message_ID, b.User_ID AS u1, a.User_ID from Message75 AS b, User AS a where Number=$id AND a.User_ID=b.User_ID","$data[u1]"), 'ForumAvatar', 'h_')." width=60 height=60 border=0>


Не получается.



Вот так, дает ошибку из-за: $data[u1]

Код:

".listQuery("select b.Created AS TimeOfAdd, b.Message_ID, b.User_ID AS u1, b.Text AS Text1, a.User_ID AS u2, SUBSTRING_INDEX(SUBSTRING_INDEX(a.ForumAvatar,':',1),'.',-1) as picname, a.Login AS Login1 from Message75 AS b, User AS a where Number=$id AND a.User_ID=b.User_ID","

<img src=".nc_file_path('User', $data[u1], 'ForumAvatar', 'h_')." width=60 height=60 border=0>

“).”




Чувствую, что надо создать переменную, приравнять User_ID и использовать вместо: $data[u1]
Но ума дать не могу.




3. И как в конкретном случае сделать условие, есть аватара или нет.
03.10.2007, 19:07
h/z

Зарегистрирован:
2007-02-06
Сообщений: 755

во первых существует таблица Filetable

значит мы можем получить адрес вот таким запросом
Код:

".listQuery("select b.Created AS TimeOfAdd, b.Message_ID, b.User_ID, b.Text AS Text1, a.User_ID, Filetable.Virt_Name as picname, a.ForumAvatar, a.Login AS Login1 from Message75 AS b, User AS a, Filetable where Number=$id AND a.User_ID=b.User_ID AND Filetable.Message_ID=a.User_ID AND Filetable.Field_ID='ТУТ_НОМЕР_ПОЛЯ_ForumAvatar_В_СИСТЕМНОЙ_ТАБЛИЦЕ_USER' LIMIT 1","
/netcat_files/u/h_$data[picname]")."


во вторых вот с проверкой найденого результата
Код:

<img src='".opt( $img_url = ( $tmp_url = listQuery(...) ? $tmp_url : "/images/avatara.gif" ) , $img_url )."' border=0>

198 196 2007-10-03 19:07:02 9099
Описание проекта