HEXFIX 1 04/29/2016 10:40 AM Подскажите, что и где нужно отредактировать, что бы при создании личного сообщения (а также просто в редакторе сообщений после символа @), при вводе текста в графу "Получатель" он предлагал пользователей не только по логину, но и по определенному дополнительному полю, которое я создал? Подробнее.. Создаю личное сообщение и ввожу ник пользователя, мне форум предлагает выбор: http://i.imgur.com/b58QjSd.pngКак сделать, чтобы он мне предлагал выбор пользователей, у которых в доп. поле, к примеру, "Ваша Фамилия" есть сочетание Test? Share this post Link to post Share on other sites
siv1987 2,623 04/29/2016 11:07 AM \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' ) 1 Share this post Link to post Share on other sites
HEXFIX 1 04/29/2016 12:21 PM Почему-то не работает. Вообще никого не находит даже просто по нику. Кеш чистил, может что-то еще надо? У меня получилось вот так: fields_10 - это правильно? В базе глянул, этот столбец называется field_10. Хотя пробовал и так. Share this post Link to post Share on other sites
siv1987 2,623 04/29/2016 12:29 PM fields_10 - это правильно?field_ид Вообще никого не находит даже просто по нику.Поправил. Share this post Link to post Share on other sites
HEXFIX 1 04/29/2016 12:50 PM Также ничего не предлагает (даже по имени пользователя перестал искать)На самом форуме, когда пишешь имя пользователя после @ всё нормально, но по доп. полю так же не ищет. Share this post Link to post Share on other sites
HEXFIX 1 04/29/2016 02:31 PM Заработало при выборе получателя ЛС! Спасибо Вам огромное! А тоже самое для обычных постов в темках при выборе пользователя через @ надо другой файл править? Если да, то на этом всё! Спасибо еще раз! Share this post Link to post Share on other sites
siv1987 2,623 04/29/2016 07:09 PM А тоже самое для обычных постов в темках при выборе пользователя через @ надо другой файл править?\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' ) 1 Share this post Link to post Share on other sites
HEXFIX 1 04/30/2016 08:41 AM Все отлично работает. Большое спасибо за помощь! Share this post Link to post Share on other sites