Перейти к контенту
  • 0

Дополнительное поле


Siluet

Вопрос

Облазил поиск.

Поле field_1 добавил, Экономия CPU - выключено отображение.

Как добавить это поле, например, вместо Группа в списке Участников?

<!-- Entry for {$member[MEMBER_NAME]} -->
 <tr>
 <td class='row4'><strong><a href="{$ibforums->base_url}showuser={$member['id']}">{$member['name']}</a></strong></td>
 <td class='row4'>{$member['pips']}</td>
 <td class='row2' align="center" width="20%">{$member['group']}</td>
 <td class='row4' align="center" width="20%">{$member['joined']}</td>
 <td class='row4' align="center" width="10%">{$member['posts']}</td>
 <td class='row2' align="center">{$member['member_email']}</td>
 <td class='row2' align="center">{$member['aim_name']}</td>
 <td class='row2' align="center">{$member['icq_number']}</td>
 <td class='row2' align="center">{$member['camera']}</td>
 </tr>
<!-- End of Entry -->

 

Что надо написать вместо

<td class='row2' align="center" width="20%">{$member['group']}</td>

?

Спасибо.

 

и еще вопрос, как правильно, сделать чтобы при постинге слева под аватаром выводилось значение дополнительного поля, если пользователь авторизован и поле не пустое (или писалось бы "Нет информации")?

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Про подпись под аватаром - не буду. Там внаглую нужно писать что-то вроде $author..field_1 (уже куча ответов в форуме)

 

Здесь отвечу на первую часть твоего вопроса:

 

ВСЁ ЭТО ТОЧНО РАБОТАЕТ на 1.3 Final.

 

Вместо [group] в приведённой тобой строчке пишешь [field_1]

 

Но этого недостаточно!

Теперь нужно немножечко подкорявить php.

 

Идём в папку sources, ищем файлик Memberlist.php и открываем его для редактирования.

Ищем комментарий

		//-----------------------------
	// START THE LISTING
	//-----------------------------

 

Сразу после этого комментария есть запрос, примерно в таком виде

 

		$DB->query("SELECT m.name, m.id, m.posts, m.joined, m.mgroup, m.email,m.title, m.hide_email, m.location, m.aim_name, m.icq_number,
					   me.photo_location, me.photo_type, me.photo_dimensions, 					FROM ibf_members m
				  LEFT JOIN ibf_member_extra me ON me.id=m.id
				  LEFT JOIN ibf_groups g ON m.mgroup=g.g_id
				WHERE m.id > 0".$q_extra." AND g.g_hide_from_list <> 1
				ORDER BY m.".$this->sort_key." ".$this->sort_order."
				LIMIT ".$this->first.",".$this->max_results);

 

ВОТ ЭТУ ЧАСТЬ И НУЖНО ОТКОРРЕКТИРОВАТЬ

 

$DB->query("SELECT m.name, m.id, m.posts, m.joined, m.mgroup, m.email,m.title, m.hide_email, m.location, m.aim_name, m.icq_number,
					   me.photo_location, me.photo_type, me.photo_dimensions, [color=#FF0000]sss.field_1, sss.field_2[/color]
				FROM ibf_members m
				  LEFT JOIN ibf_member_extra me ON me.id=m.id
				  LEFT JOIN ibf_groups g ON m.mgroup=g.g_id
				  [color=#FF0000]LEFT JOIN ibf_pfields_content sss ON sss.member_id=m.id[/color]
				WHERE m.id > 0".$q_extra." AND g.g_hide_from_list <> 1
				ORDER BY m.".$this->sort_key." ".$this->sort_order."
				LIMIT ".$this->first.",".$this->max_results);

 

В поём примере - это два поля.

Краткий комментарий:

 

sss - это произвольное название таблицы ibf_pfields_content (в твоей sql-базе она обозначена как <приставка-форума>_pfields_content) ВНУТРИ БАЗЫ-ЗАПРОСА.

Оно может быть любым, но тогда это название должно фигурировать и в

sss.member_id=m.id, и в выбираемых полях sss.field_1, sss.field_2

Естественно, нужно что-нибудь покороче... и такое, чтобы не встречалось (насчёт этого я точно не знаю, но мой вариант сработал сразу же).

 

Также обрати внимание на то, что sss.field_... может быть хоть 10, но нужно понимать - они нужны тебе все или нет ? Мне хватило тех, которые я добавил (их было как раз два... ).

Их число ограничено только созданными тобой полями (т.е. если полей field_... 10 - то можно выбрать одно, два, семь, десять - но не более!!). Их можно подключить по аналогии (через запятую), и возможность такого их подключения даётся строкой LEFT JOIN ibf_pfields_content sss ON sss.member_id=m.id, т.е. прикрепление связанной таблицы pfields_content по id обоих таблиц.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Тю... точно... В смысле, я об это даже не задумывался, или, скорее, опасался, что не сработает.

 

Это запрос очень похож на обычные SQL-запросы VBA :D... Поэтому у меня он не вызвал проблем...

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.