Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
HEXFIX

Поиск по допполнительному полю

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

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

 

Подробнее.. Создаю личное сообщение и ввожу ник пользователя, мне форум предлагает выбор: http://i.imgur.com/b58QjSd.png

Как сделать, чтобы он мне предлагал выбор пользователей, у которых в доп. поле, к примеру, "Ваша Фамилия" есть сочетание Test?

Поделиться сообщением


Ссылка на сообщение

\applications\core\modules\front\system\ajax.php

 

Найти

 

	$where = array( "name LIKE CONCAT('%', ?, '%')" );
	$binds = array( $input );

Ниже добавить

 

	$where[] = "pf.field_ид дополнительного поле LIKE CONCAT('%', ?, '%')";
	$binds[] = \IPS\Request::i()->input;

 

Найти

 

\IPS\Db::i()->select( '*', 'core_members', array_merge( array( implode( ' OR ', $where ) ), $binds ), 'LENGTH(name) ASC', array( 0, 20 ) )

Заменить на

 

\IPS\Db::i()->select( 'm.*', array( 'core_members', 'm' ), array_merge( array( implode( ' OR ', $where ) ), $binds ), 'LENGTH(name) ASC', array( 0, 20 ) )->join( array( 'core_pfields_content', 'pf'), array( 'm.member_id=pf.member_id' ), 'LEFT' )

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Почему-то не работает. Вообще никого не находит даже просто по нику. Кеш чистил, может что-то еще надо? У меня получилось вот так:

 

fields_10 - это правильно? В базе глянул, этот столбец называется field_10. Хотя пробовал и так.

Поделиться сообщением


Ссылка на сообщение

fields_10 - это правильно?

field_ид

 

Вообще никого не находит даже просто по нику.

Поправил.

Поделиться сообщением


Ссылка на сообщение

Также ничего не предлагает (даже по имени пользователя перестал искать)

На самом форуме, когда пишешь имя пользователя после @ всё нормально, но по доп. полю так же не ищет.

Поделиться сообщением


Ссылка на сообщение

Заработало при выборе получателя ЛС! Спасибо Вам огромное!

 

А тоже самое для обычных постов в темках при выборе пользователя через @ надо другой файл править? Если да, то на этом всё! Спасибо еще раз!

Поделиться сообщением


Ссылка на сообщение

А тоже самое для обычных постов в темках при выборе пользователя через @ надо другой файл править?

\applications\core\modules\front\system\editor.php

 

Найти

 

\IPS\Db::i()->select( '*', 'core_members', array( "name LIKE CONCAT( ?, '%' )", mb_strtolower( \IPS\Request::i()->input ) ), 'name', 10 )

Заменить на

 

\IPS\Db::i()->select( 'm.*', array( 'core_members', 'm' ), array( "name LIKE CONCAT( ?, '%' ) OR field_ид LIKE CONCAT( '%', ?, '%' )", mb_strtolower( \IPS\Request::i()->input ), \IPS\Request::i()->input ), 'name', 10 )->join( array( 'core_pfields_content', 'pf' ), 'm.member_id=pf.member_id', 'LEFT' )

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Все отлично работает. Большое спасибо за помощь!

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...