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

pagination в memberlist.php (разбивка по алфавиту)

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
izpitera
phpBB 1.4.2
Сообщения: 65
Стаж: 19 лет 4 месяца

pagination в memberlist.php (разбивка по алфавиту)

Сообщение izpitera »

Други!

А есть ли мод, который импрувит существующий список пользователей? memberlist.php ?

В данный момент там совсем примитивный функционал и если нужно найти юзверя то очень неудобно...

Хотелось бы иметь разбивку по буквам алфавита.

Может кто встречал?

Добавлено спустя 14 минут 17 секунд:

нашел
http://www.phpbbhacks.com/download/984

вот только боюсь что он русские чары не поймет =(
что нужно править?

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

//
// Set per-letter selection
//
$others_sql = '';
$select_letter = '';
for ($i = 97; $i <= 122; $i++)
{
	$others_sql .= " AND username NOT LIKE '" . chr($i) . "%' ";
	$select_letter .= ( $by_letter == chr($i) ) ? chr($i) . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=" . chr($i) . "&mode=$mode&order=$sort_order&start=$start") . '">' . chr($i) . '</a>&nbsp;';
}
$select_letter .= ( $by_letter == 'others' ) ? $lang['Others'] . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=others&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['Others'] . '</a>&nbsp;';
$select_letter .= ( $by_letter == 'all' ) ? $lang['All'] : '<a href="' . append_sid("memberlist.$phpEx?letter=all&mode=$mode&order=$sort_order&start=$start") . '">' . $lang['All'] . '</a>';

$template->assign_vars(array(
	'L_SORT_PER_LETTER' => $lang['Sort_per_letter'],
	'S_LETTER_SELECT' => $select_letter,
	'S_LETTER_HIDDEN' => '<input type="hidden" name="letter" value="' . $by_letter . '">')
);

if($by_letter == 'all')
{
	$letter_sql = '';
}
else if($by_letter == 'others')
{
	$letter_sql = $others_sql;
}
else
{
	$letter_sql = " AND username LIKE '$by_letter%' ";
}

#


Добавлено спустя 1 минуту 9 секунд:

как я понимаю надо править? а какие цыфры ставить для русского?

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

for ($i = 97; $i <= 122; $i++) 


Добавлено спустя 2 минуты 50 секунд:

а русская 1072
я русская 1103

блин надо цикл вводить дополнительный походу?

Добавлено спустя 2 минуты 27 секунд:

Господа, может кто русифицирует сей полезный мод? для потомков?

увага ему будет. делов то знающему человеку на 5 минут, а славы на века =)
Mysterio

Сообщение Mysterio »

Ну, можно например так сделать:

Найти:

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

 
for ($i = 97; $i <= 122; $i++) 
{ 
   $others_sql .= " AND username NOT LIKE '" . chr($i) . "%' "; 
   $select_letter .= ( $by_letter == chr($i) ) ? chr($i) . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=" . chr($i) . "&mode=$mode&order=$sort_order&start=$start") . '">' . chr($i) . '</a>&nbsp;'; 
} 
После добавить:

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

for ($i = 224; $i <= 255; $i++)
{
	$others_sql .= " AND username NOT LIKE '" . chr($i) . "%' ";
	$select_letter .= ( $by_letter == chr($i) ) ? chr($i) . '&nbsp;' : '<a href="' . append_sid("memberlist.$phpEx?letter=" . chr($i) . "&mode=$mode&order=$sort_order&start=$start") . '">' . chr($i) . '</a>&nbsp;';
}

Вернуться в «Поддержка модов для phpBB 2.0.x»