|
|
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>
|