Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Доработка Admin Email List

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
oburg
phpBB 1.0.0
Сообщения: 6
Стаж: 8 лет 2 месяца
Благодарил (а): 1 раз

Доработка Admin Email List

Сообщение oburg »

Здравствуйте!
Хотелось бы доработать плагин Admin Email List
Не совсем понимаю, как в контроллере получить кастомные поля... Подскажите пожалуйста?

Я так понимаю, нужно править код ниже, но как добавить в цикл еще и переменные из кастомных полей?

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

		$sql = 'SELECT user_id, username, username_clean, user_colour, user_email, user_jabber
			FROM ' . USERS_TABLE . '
				WHERE user_type <> ' . USER_IGNORE . "
				$filter_by
			ORDER BY $order_by";

		$result = $this->db->sql_query_limit($sql, $this->config['topics_per_page'], $start);

		while ($row = $this->db->sql_fetchrow($result))
		{
			$this->template->assign_block_vars('emaillist', array(
				'EMAIL'		=> $row['user_email'],
				'JABBER'	=> ($this->config['jab_enable']) ? $row['user_jabber'] : '',
				'USERNAME'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
		   	));
		}
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: Доработка Admin Email List

Сообщение LavIgor »

oburg, а что хотите получить в результате?
Если нужно в шаблоне выводить поля, то допишите их в условие SELECT и выведите по аналогии с 'user_email'.
oburg
phpBB 1.0.0
Сообщения: 6
Стаж: 8 лет 2 месяца
Благодарил (а): 1 раз

Re: Доработка Admin Email List

Сообщение oburg »

Хочу, чтобы в итоге данные выводились в шаблоне по аналогии:

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

<td>{emaillist.JABBER}</td>
Я так понял, что вот этот запрос:

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

$sql = 'SELECT user_id, username, username_clean, user_colour, user_email, user_jabber
			FROM ' . USERS_TABLE . '
обращается к таблице USERS_TABLE, а кастомные поля лежат в другой таблице? Или я ошибаюсь?

По крайней мере если изменить код вот так:

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

	   	$sql = 'SELECT user_id, username, username_clean, user_colour, user_email, user_jabber, custom_field
			FROM ' . USERS_TABLE . '
				WHERE user_type <> ' . USER_IGNORE . "
				$filter_by
			ORDER BY $order_by";

		$result = $this->db->sql_query_limit($sql, $this->config['topics_per_page'], $start);

		while ($row = $this->db->sql_fetchrow($result))
		{
			$this->template->assign_block_vars('emaillist', array(
				'EMAIL'			=> $row['user_email'],
				'CUSTOM_FIELD'		=> $row['custom_field'],
				'JABBER'	=> ($this->config['jab_enable']) ? $row['user_jabber'] : '',
				'USERNAME'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
		   	));
		}
возникает ошибка:

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

SQL ERROR [ mysqli ]

Unknown column 'custom_field' in 'field list' [1054]

SQL

SELECT user_id, username, username_clean, user_colour, user_email, user_jabber,custom_field FROM phpbb_users WHERE user_type <> 2 ORDER BY username_clean ASC LIMIT 25
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 57 раз
Поблагодарили: 625 раз

Re: Доработка Admin Email List

Сообщение Anvar »

Дополнительные поля профиля находятся в другой таблице `phpbb_profile_fields` , а содержимое полей для каждого пользователя в `phpbb_profile_fields_data`
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!

Вернуться в «Для разработчиков»