Дополнительные поля в профиле

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Дополнительные поля в профиле

Сообщение Пчелкин »

NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Kirius
phpBB 1.0.0
Сообщения: 2
Стаж: 14 лет

Re: Дополнительные поля в профиле

Сообщение Kirius »

Благодарю за ответы, но я сам уже нашел решение проблемы. Оказывается в memberlist_view.html надо было вставлять так:

Код: Выделить всё

<!-- IF S_PROFILE_BGFON --><img src="{PROFILE_BGFON_VALUE}"><!-- ENDIF -->
а не так:

Код: Выделить всё

<!-- IF postrow.S_PROFILE_BGFON --><img src="{postrow.PROFILE_BGFON_VALUE}"><!-- ENDIF -->
-----------
Еще такой вопрос. Допол. поля в профиле пользователя выводятся благодаря коду в memberlist_view.html:

Код: Выделить всё

<!-- BEGIN custom_fields --><dt>{custom_fields.PROFILE_FIELD_NAME}:</dt> <dd>{custom_fields.PROFILE_FIELD_VALUE}</dd><!-- END custom_fields -->
Можно ли изменить как-нибудь этот код, чтоб мое допол. поле BGFON не показывалось среди прочих допол. полей?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Дополнительные поля в профиле

Сообщение Sheer »

Kirius писал(а):надо было вставлять так:
Ну спрашивал же, где и как определены объекты шаблона. Все правильно, объект postrow.S_PROFILE_BGFON не определен, отсюда и последствия.
Kirius писал(а):Можно ли изменить
Можно. Но надо спрашивать не можно ли, а как изменить.
ACP-->ПОЛЬЗОВАТЕЛИ И ГРУППЫ-->Дополнительные поля в профиле-->Выбрать поле + Изменить-->Видимость поля-->
На страницах тем:
При включении данной опции поле будет отображаться на страницах тем под аватарами пользователей.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
kupidon
phpBB 1.4.4
Сообщения: 120
Стаж: 14 лет 5 месяцев
Благодарил (а): 62 раза

Re: ПРОБЛЕМА - Дополнительные поля в профиле

Сообщение kupidon »

Ребята, прошу помощи: требуется разрешить просмотр дополнительных полей в профилях пользователей определенной группе ( id группы известно)....нашел у вас вот такое решение http://www.phpbbguru.net/community/topi ... ml#p265480
Но у меня почему то не работает. Сделал как там написано, но доступ открылся вообще всем, пришлось вернуть. ПОМОГИТЕ!
Аватара пользователя
kupidon
phpBB 1.4.4
Сообщения: 120
Стаж: 14 лет 5 месяцев
Благодарил (а): 62 раза

Re: Дополнительные поля в профиле

Сообщение kupidon »

Уважаемая техподдержка, пожалуйста не оставляйте мой вопрос без внимания :( . (пост выше)
Если я правильно понимаю то за вывод дополнительных полей, отвечает код (файл functions_profile_fields):

Код: Выделить всё

// Show hidden fields to moderators/admins
				if (!$auth->acl_gets('a_', 'm_') && !$auth->acl_getf_global('m_'))
				{
					$sql_where .= ' AND f.field_show_profile = 1';
				}
			break;

			default:
				trigger_error('Wrong profile mode specified', E_USER_ERROR);
			break;
		}

		$sql = 'SELECT l.*, f.*
			FROM ' . PROFILE_LANG_TABLE . ' l, ' . PROFILE_FIELDS_TABLE . " f
			WHERE f.field_active = 1
				$sql_where
				AND l.lang_id = $lang_id
				AND l.field_id = f.field_id
			ORDER BY f.field_order";
		$result = $db->sql_query($sql);

		while ($row = $db->sql_fetchrow($result))
		{
			// Return templated field
			$tpl_snippet = $this->process_field_row('change', $row);

			// Some types are multivalue, we can't give them a field_id as we would not know which to pick
			$type = (int) $row['field_type'];

			$template->assign_block_vars('profile_fields', array(
				'LANG_NAME'		=> $row['lang_name'],
				'LANG_EXPLAIN'	=> $row['lang_explain'],
				'FIELD'			=> $tpl_snippet,
				'FIELD_ID'		=> ($type == FIELD_DATE || ($type == FIELD_BOOL && $row['field_length'] == '1')) ? '' : 'pf_' . $row['field_ident'],
				'S_REQUIRED'	=> ($row['field_required']) ? true : false)
			);
		}
		$db->sql_freeresult($result);
	}
Помогите сформулировать правильно sql запрос , что бы к админам и модераторам добавить группу опред ID. Конечно если я на правильном пути...


ДОБАВЛЕНО ПОЗЖЕ:
Короче докурочил...у меня авария, теперь при просмотре ЛЮБОГО профиля и группы белый экран:
в includes/functions.php добавил после

Код: Выделить всё

'S_USER_NEW'					=> $user->data['user_new'],
этот код

Код: Выделить всё

'S_USER_GROUP'					=> $user->data['group_id'],
в includes/functions_profile_fields.php, текст:

Код: Выделить всё

if (!$auth->acl_gets('a_', 'm_') && !$auth->acl_getf_global('m_'))
				{
					$sql_where .= ' AND f.field_show_profile = 1';
				}
			break;
изменил на :

Код: Выделить всё

if (!$auth->acl_gets('a_', 'm_') && !$auth->acl_getf_global('m_'))
				{
					$sql_where .= ' AND f.field_show_profile = 1';
				}
<!-- IF S_USER_GROUP == 8 --> 
{
					$sql_where .= ' AND f.field_show_profile = 1';
				}
<!-- ENDIF -->
			break;
Я понимаю, что я балбес :oops: , но теперь решение о восстановлении работоспособности форума первоначальнее. ПРОСТО ООООЧЕНЬ ПРОШУ помощи! ЧТО Я НАДЕЛАЛ?

ТЕМЫ ТОЖЕ ОТКРЫВАЮТСЯ...РАБОТА ОСТАНОВИЛАСЬ....ВЫРУЧАЙТЕ ПОЖАЛУЙСТА :( откат БД не помог.
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 16 лет 11 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

Дополнительные поля в профиле

Сообщение МайскийЖук »

А причем тут откат БД вообще? Восстанови файлы, которые ты отредактировал, по состоянию на момент до редактирования.
Любовь и боль, покой и бой я как любой несу с собой…
Аватара пользователя
kupidon
phpBB 1.4.4
Сообщения: 120
Стаж: 14 лет 5 месяцев
Благодарил (а): 62 раза

Re: Дополнительные поля в профиле

Сообщение kupidon »

Все восстановил, видимо в момент переноса редактируемых файлов произошло некорректное копирование файлов по FTP.
Возвращаюсь к своему вопросу:
Если я правильно понимаю то за вывод дополнительных полей, отвечает код (файл functions_profile_fields):

Код: Выделить всё

// Show hidden fields to moderators/admins
				if (!$auth->acl_gets('a_', 'm_') && !$auth->acl_getf_global('m_'))
				{
					$sql_where .= ' AND f.field_show_profile = 1';
				}
			break;

			default:
				trigger_error('Wrong profile mode specified', E_USER_ERROR);
			break;
		}

		$sql = 'SELECT l.*, f.*
			FROM ' . PROFILE_LANG_TABLE . ' l, ' . PROFILE_FIELDS_TABLE . " f
			WHERE f.field_active = 1
				$sql_where
				AND l.lang_id = $lang_id
				AND l.field_id = f.field_id
			ORDER BY f.field_order";
		$result = $db->sql_query($sql);

		while ($row = $db->sql_fetchrow($result))
		{
			// Return templated field
			$tpl_snippet = $this->process_field_row('change', $row);

			// Some types are multivalue, we can't give them a field_id as we would not know which to pick
			$type = (int) $row['field_type'];

			$template->assign_block_vars('profile_fields', array(
				'LANG_NAME'		=> $row['lang_name'],
				'LANG_EXPLAIN'	=> $row['lang_explain'],
				'FIELD'			=> $tpl_snippet,
				'FIELD_ID'		=> ($type == FIELD_DATE || ($type == FIELD_BOOL && $row['field_length'] == '1')) ? '' : 'pf_' . $row['field_ident'],
				'S_REQUIRED'	=> ($row['field_required']) ? true : false)
			);
		}
		$db->sql_freeresult($result);
	}
Помогите сформулировать правильно sql запрос , что бы к админам и модераторам добавить группу опред ID. Конечно если я на правильном пути...
ЕСЛИ ВОПРОС НЕ ПО АДРЕСУ - СПРОШУ В ДРУГОЙ ТЕМЕ. ПОЖАЛУЙСТА НЕ МОЛЧИТЕ.
Аватара пользователя
kupidon
phpBB 1.4.4
Сообщения: 120
Стаж: 14 лет 5 месяцев
Благодарил (а): 62 раза

Просмотр дополнительный полей определенной группе

Сообщение kupidon »

Ребята, прошу помощи: требуется разрешить просмотр дополнительных полей в профилях пользователей ДЛЯ определенной группы (id группы известно)....нашел у вас на форуме вот одно вот такое решение Дополнительные поля в профиле

В файле includes/functions_profile_fields.php, есть такой код:

Код: Выделить всё

case 'profile':
				// Show hidden fields to moderators/admins
				if (!$auth->acl_gets('a_', 'm_') && !$auth->acl_getf_global('m_'))
				{
					$sql_where .= ' AND f.field_show_profile = 1';
				}
			break;

			default:
				trigger_error('Wrong profile mode specified', E_USER_ERROR);
			break;
		}

		$sql = 'SELECT l.*, f.*
			FROM ' . PROFILE_LANG_TABLE . ' l, ' . PROFILE_FIELDS_TABLE . " f
			WHERE f.field_active = 1
				$sql_where
				AND l.lang_id = $lang_id
				AND l.field_id = f.field_id
			ORDER BY f.field_order";
		$result = $db->sql_query($sql);

		while ($row = $db->sql_fetchrow($result))
		{
			// Return templated field
			$tpl_snippet = $this->process_field_row('change', $row);
Как я понял, надо правильно сформулировать sql- запрос...Прошу помощи у знающих ..
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Просмотр дополнительный полей определенной группе

Сообщение Garret_Dark »

Насколько я понял видеть должны те поля, которые скрыты от простых пользователей?
Ну так, на вскидку...
Вот это

Код: Выделить всё

if (!$auth->acl_gets('a_', 'm_') && !$auth->acl_getf_global('m_'))
заменить на

Код: Выделить всё

if (!$auth->acl_gets('a_', 'm_') && !$auth->acl_getf_global('m_') && $user->data['group_id'] != 'XX')
Где XX - это ID группы которая видит скрытые поля. Группа должна быть группой по умолчанию у пользователя.
Аватара пользователя
kupidon
phpBB 1.4.4
Сообщения: 120
Стаж: 14 лет 5 месяцев
Благодарил (а): 62 раза

Re: Дополнительные поля в профиле

Сообщение kupidon »

Мой вопрос со 2-го(!!!) ноября кто-нибудь прочитает? :(
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 16 лет 11 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

Дополнительные поля в профиле

Сообщение МайскийЖук »

Изображение
Любовь и боль, покой и бой я как любой несу с собой…
Аватара пользователя
kupidon
phpBB 1.4.4
Сообщения: 120
Стаж: 14 лет 5 месяцев
Благодарил (а): 62 раза

Re: Дополнительные поля в профиле

Сообщение kupidon »

мне не видно вашего ответа :(
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 16 лет 11 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

Дополнительные поля в профиле

Сообщение МайскийЖук »

Изображение
Любовь и боль, покой и бой я как любой несу с собой…
Аватара пользователя
kupidon
phpBB 1.4.4
Сообщения: 120
Стаж: 14 лет 5 месяцев
Благодарил (а): 62 раза

Re: Дополнительные поля в профиле

Сообщение kupidon »

Спасибо за ответ. Но я все равно в вас верю....пошел 10 :!: день со дня подачи вопроса.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Дополнительные поля в профиле

Сообщение Sheer »

kupidon
Вам же ответили Дополнительные поля в профиле , чего бузить?
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Вернуться в «Поддержка phpBB 3.0.х»