Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение Меняем сортировку по умолчанию в memberlist.php 
#1 

Аватар пользователя

Всем доброго времени суток. Сегодня я расскажу каким образом можно изменить стандартную сортировку списка пользователей. Опираясь на логику этой статьи, можно менять сортировку там, где она есть.

Как известно, список всех пользователей сортируется по умолчанию по дате регистрации по нарастающей, от первого до последнего пользователя. Нас будет интересовать файл memberlist.php. Начнем с этого куска
$default_key = 'c';
$sort_key = request_var('sk', $default_key);
$sort_dir = request_var('sd', 'a');
 

Где
$default_key = 'c';
 

Это ключ по которому идет сортировка, а
$sort_dir = request_var('sd', 'a');
 

Метод сортировки: по убыванию или возрастанию.

Теперь по порядку. Начнем с ключей. Как я и писал выше - это данные по которым можно провести сортировку. Именно ключом является буковка c. Следовательно, если надо поменять сортировку по другому параметру - нужно изменить эту букву на другую. Какую именно ? Смотрите ниже

Список доступных ключей (это буквы латинского алфавита!!!):
  • a - по никнеймам пользователей
  • b - по полю Откуда
  • c - по дате регистрации
  • d - по количеству сообщений
  • e - по адресу электронной почты
  • f - по полю Сайт
  • g - по полю ICQ
  • h - по полю AIM
  • i - по полю MSNM
  • j - по полю YIM
  • k - по полю JABBER
  • l - по дате последнего посещения
  • m - по рангу на форуме
  • n - по полю Скайп (для тех у кого установлен данный мод)

Вообщем оринтируясь по данному списку вы выбираете ключ сортировки и меняете его в указанной строке. Теперь вернемся к
$sort_dir = request_var('sd', 'a');
 

Нашему методу сортировки. Если вас все устраивает (сортировка по возрастанию) то дальше можете не читать, а если вам нужна сортировка по убыванию, то меняем в этой строке буковку a на d, получится вот так
$sort_dir = request_var('sd', 'd');
 

Далее находим
'sd'         => array('sd', 'a'),
 

Заменяем на
'sd'         => array('sd', 'd'),
 

Теперь самое сложное во всей статье, понять логику следующей правки. Нам нужна еще одна правка. Ловите логику, очень внимательно. Допустим, меняем сортировку на ключ l (по дате последнего посещения), в поиск по коду файла
memberlist.php вбиваем фразу
$sort_key == 'l'
 

Этот кусок присутствует в строке (и только в ней, только она нужна!!!)
'U_SORT_ACTIVE'         => ($auth->acl_get('u_viewonline')) ? $sort_url . '&sk=l&sd=' . (($sort_key == 'l' && $sort_dir == 'a') ? 'd' : 'a') : '',
 

Смотрим в конец строки и видим
$sort_dir == 'a') ? 'd' : 'a') : '',
 

Меняем ее на
$sort_dir == 'd') ? 'a' : 'd') : '',
 

В итоге строка примет вид
'U_SORT_ACTIVE'         => ($auth->acl_get('u_viewonline')) ? $sort_url . '&sk=l&sd=' . (($sort_key == 'l' && $sort_dir == 'd') ? 'a' : 'd') : '',
 

Уловили суть ?? Буквочки надо местами поменять.

На этом впринципе все, теперь вы умеете лично под себя настроить страницу со списком пользователей, сделать сортировку по умолчанию на свой вкус. Надеюсь пригодится комунибудь моя писанина :-0=)


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!

Теги темы
Статья о том, как поменять стандартный пункт сортировки при просмотре списка пользователей, Меняем сортировку по умолчанию в memberlist.php phpbb3
          Вернуться наверх  
 

#2 

Аватар пользователя

Я сделал сортировку по времени последнего посещения - по-моему, это самый интересный расклад: заходишь и видишь в начале списка самых последних посетителей. Для этого тупо прописал ссылку
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку
, без модов.


          Вернуться наверх  
 

#3 

Аватар пользователя

Ну кому как удобней))Тем более это ж не мод)


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#4 

Аватар пользователя

1. Хочу сделать сортировка только по логину

Меняю сортировку на по логину:
a. $default_key = 'a';
b. $sort_dir = request_var('a', 'sd');
Больше ничего не менял.
Результат: русские логины по алфавиту все окей а английские алфавит но наоборот ( порядок идет с конца )
Я криворукий или не все сделал или... типа .... "или так или никак"? :-0=)

2. Попробовал по городу ( b ) Только изменил $default_key = 'b'; - не открывает ( страница с выводом ошибок sql )

3. И я не пойму вторая часть изменений где образец по l - А что это дает? Это отдельное изменение или надо вместе с первой часть делать?

Может у меня 3.1.10 а тут для 3.0 из за этого?


_________________
Подпись:
У меня phpbb 3.1.10
          Вернуться наверх  
 

#5 

Аватар пользователя

Это конечно интересно, почему у вас
$sort_dir = request_var('a', 'sd');
 

вместо
$sort_dir = request_var('sd', 'a');
 

Разницу видите?


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 

#6 

Аватар пользователя

Конечно вижу. Я их переставил. Чтоб логины были по алфавиту. Сверху А и поехали вниз до Я. Ток тогда английские ники алфавит наоборот ставятся. Вот и интересно а как тогда и анлийские чтоб так же шли?


_________________
Подпись:
У меня phpbb 3.1.10
          Вернуться наверх  
 

#7 

Аватар пользователя

Все правильно, по обычной сортировке сначала идут английские ники по алфавиту, потом только русские, а вы поменяли порядок. Тут ничего не сделать


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя Список IP в memberlist

index-07

3

322

Аватар пользователя

25 окт 2012, 21:33

DeaDRoMeO

Аватар пользователя Аватарка по умолчанию для тех, у кого её нет

Lorem Ipsum

62

3835

Аватар пользователя

22 янв 2017, 13:28

белк

Аватар пользователя Размер шрифта по умолчанию

m213480

4

406

Аватар пользователя

17 май 2015, 16:49

m213480

Аватар пользователя Имя группы по-умолчанию в мини-профиле phpbb3
Мини-хак, добавляющий имя группы по умолчанию пользователю в мини-профиль

DeaDRoMeO

5

973

Аватар пользователя

06 июн 2016, 06:53

Beksssss

Аватар пользователя Random No Avatar phpbb3 (случайная аватара по умолчанию)
Random No Avatar - модификация для phpbb3, автоматически назначающая случайную аватару пользователю если он самостоятельно ее не установил

DeaDRoMeO

83

5137

Аватар пользователя

29 апр 2014, 17:09

Князь Мышкин

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


cron

Самая неформальная поддержка phpBB :P