Jump to content
Дизайн и модификация Invision Power Board IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
HEXFIX

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

Recommended Posts

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

 

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

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

Share this post


Link to post
Share on other sites

\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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

field_ид

 

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

Поправил.

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

\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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...