ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (1): [1]   

> Без описания
spirit
Отправлено: 23 апреля 2009 — 11:28
Post Id



Пользователь
Newbie


Покинул форум
Сообщений всего: 40
Дата рег-ции: Февр. 2009  
Откуда: Россия, Пермь
Репутация: 0




Очень большая необходимость сортировки тем по алфавиту! Помогите пожалста!!!
 
 
yura3d
Отправлено: 23 апреля 2009 — 14:21
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




spirit пишет:
Очень большая необходимость сортировки тем по алфавиту! Помогите пожалста!!!

Вобщем сделал возможность сортировки тем в разделе по некоторым критериям (название, описание, имя первого/последнего авторов, количество ответов, дата последнего ответа). Сортировать можно как по возрастанию, так и по убыванию. Для добавления этой возможности на свой форум необходимо проделать следующие изменения. Открываем файл forums.php, находим строку:
CODE:
uasort($topics,"sortByPinnedPostdate");

И заменяем её строками:
CODE:
// Topics sort for ExBB FM 1.0 RC2 by yura3d, http://www.exbb.org/
$fm->_Strings(array('sort' => 'postdate', 'order' => 'desc'));
$_sort_columns = array('name', 'desc', 'author', 'posts', 'postdate', 'poster');
if (!in_array($fm->input['sort'], $_sort_columns))
$fm->input['sort'] = 'postdate';
switch ($fm->input['sort']) {
case 'name': case 'desc': case 'author': case 'poster':
$sort_type = 's';
break;
default: $sort_type = 'd';
}
$_sort = array(
'column' => $fm->input['sort'],
'type' => $sort_type
);
uasort($topics, '_sort');
if ($fm->input['order'] == 'desc') $topics = array_reverse($topics, TRUE);
$sorting = '';
foreach ($_sort_columns as $column)
$sorting .= '<option value="'.$column.'"'.(($column == $fm->input['sort']) ? ' selected="selected"' : '').'> '.$fm->LANG['SortBy_'.$column];
$ordering = '<option value="asc"> '.$fm->LANG['SortOrderAsc'];
$ordering .= '<option value="desc"'.(($fm->input['order'] == 'desc') ? ' selected="selected"' : '').'> '.$fm->LANG['SortOrderDesc'];
//uasort($topics,"sortByPinnedPostdate");

Далее находим строки:
CODE:
/*
Functions
*/

И под ними вставляем:
CODE:
function _sort($a, $b) {
global $fm, $_sort;

if ($_sort['type'] == 's') {
if ($fm->_RuLocale)
return strcasecmp($a[$_sort['column']], $b[$_sort['column']]);
else
return strcmp($fm->_StrToLower($a[$_sort['column']]), $fm->_StrToLower($b[$_sort['column']]));
}
else if ($_sort['type'] == 'd') {
return $a[$_sort['column']] - $b[$_sort['column']];
}
}

Теперь открываем файл language/russian/lang_front_forums.php, находим строку:
CODE:
$this->LANG['FilterByAuthor'] = 'автору';

И после неё добавляем строки:
CODE:
$this->LANG['SortBy'] = 'Сортировать по:';
$this->LANG['SortBy_name'] = 'названию темы';
$this->LANG['SortBy_desc'] = 'описанию темы';
$this->LANG['SortBy_author'] = 'имени автора';
$this->LANG['SortBy_posts'] = 'количеству сообщений';
$this->LANG['SortBy_postdate'] = 'дате последнего сообщения';
$this->LANG['SortBy_poster'] = 'имени последнего автора';
$this->LANG['SortOrderAsc'] = 'в порядке возрастания';
$this->LANG['SortOrderDesc'] = 'в порядке убывания';

Теперь открываем файл templates/InvisionExBB/forum_body.tpl, находим строки:
CODE:
<input type="submit" value="ok" onClick="return Formchecker(this.form)" class="forminput" />
</form>
{$resetfiltr}&nbsp;&nbsp;&nbsp;

И заменяем их строками:
CODE:
{$resetfiltr}&nbsp;&nbsp;&nbsp;{$fm->LANG['SortBy']}
<select name="sort">
{$sorting}
</select>
<select name="order">
{$ordering}
</select>&nbsp;&nbsp;&nbsp;
<input type="submit" value="ok" onClick="return Formchecker(this.form)" class="forminput" />
</form>&nbsp;&nbsp;&nbsp;

На этом всё. Если Вы пользуетесь скином, отличным от InvisionExBB, то изменения в Вашем скине нужно делать по аналогии.
 
 
spirit
Отправлено: 23 апреля 2009 — 18:57
Post Id



Пользователь
Newbie


Покинул форум
Сообщений всего: 40
Дата рег-ции: Февр. 2009  
Откуда: Россия, Пермь
Репутация: 0




Спасибо биг, проверю, отпишусь!
(Добавление)
И еще забыл сказать, что это должно быть доступно только админу, а у простых юзверей отображалось, в том порядке, как соответственно выставил админ...
 
 
yura3d
Отправлено: 23 апреля 2009 — 19:13
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




spirit пишет:
И еще забыл сказать, что это должно быть доступно только админу, а у простых юзверей отображалось, в том порядке, как соответственно выставил админ...

У меня сделано так, что параметры сортировки могут выбирать все пользователи (по такому же принципу реализована эта функция в других форумах). По-умолчанию сортировка по дате последнего сообщения в порядке убывания (как было до установки мода).
 
 
Zeg
Отправлено: 23 апреля 2009 — 21:18
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 891
Дата рег-ции: Март 2009  
Откуда: Беларусь
Репутация: 89




С сортировкой по "Названиию темы" что-то не то Недовольство, огорчение . У меня до буквы "А" попадают посты на букву "Ч", например.
 
 
yura3d
Отправлено: 25 апреля 2009 — 11:42
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




Сортировка по алфавиту сильно зависит от установленной на сервере локали. Если русская локаль не настроена на сервере, то сортироваться корректно будет только латиница
 
 
spirit
Отправлено: 30 апреля 2009 — 16:44
Post Id



Пользователь
Newbie


Покинул форум
Сообщений всего: 40
Дата рег-ции: Февр. 2009  
Откуда: Россия, Пермь
Репутация: 0




Спасибо за опреативность, а можно просто сделат так, чтобы новые темы добавлялись в конец а не в начало?
 
 
yura3d
Отправлено: 30 апреля 2009 — 18:49
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




spirit пишет:
Спасибо за опреативность, а можно просто сделат так, чтобы новые темы добавлялись в конец а не в начало?

Возможна сортировка по некоторым критериям (название, описание, имя первого/последнего авторов, количество ответов, дата последнего ответа).
 
 
spirit
Отправлено: 30 апреля 2009 — 18:53
Post Id



Пользователь
Newbie


Покинул форум
Сообщений всего: 40
Дата рег-ции: Февр. 2009  
Откуда: Россия, Пермь
Репутация: 0




yura3d пишет:
Возможна сортировка по некоторым критериям

Нет, вообще без всякой сортировки, просто новая тема - в конец списка, а не в начало.
 
 
yura3d
Отправлено: 30 апреля 2009 — 18:55
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




spirit пишет:
Нет, вообще без всякой сортировки, просто новая тема - в конец списка, а не в начало.

В данный момент нельзя. Да и вообще в чём смысл этого? Если новые темы будут добавляться в конец, то кто их увидит?
 
 
Pauk
Отправлено: 11 декабря 2010 — 00:58
Post Id


Пользователь
Advanced Member


Покинул форум
Сообщений всего: 327
Дата рег-ции: Март 2009  
Репутация: 6




спасибо за мод
(Добавление)
только вот если тем много то при перелистывание сортировка слетает
 
 
drummer69
Отправлено: 18 апреля 2011 — 14:22
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 197
Дата рег-ции: Март 2009  
Репутация: 4




Подскажите, как добавить сортировку "по дате создания темы".

Очень нужно, спасибо!
 
 
variant0
Отправлено: 3 марта 2014 — 18:52
Post Id


Пользователь
Newbie


Покинул форум
Сообщений всего: 45
Дата рег-ции: Апр. 2013  
Репутация: 0




drummer69 пишет:
Подскажите, как добавить сортировку "по дате создания темы".

Нужно.
 
 
variant0
Отправлено: 4 марта 2014 — 14:18
Post Id


Пользователь
Newbie


Покинул форум
Сообщений всего: 45
Дата рег-ции: Апр. 2013  
Репутация: 0




Также нужна возможность запрещать сортировку тем в разделе пользователями, чтобы темы были отсортированы в том порядке, как настроено администратором. Это нужно, например, при создании раздела, где в топикстартере каждой темы публикуются очередные номера какой-то газеты, а последующие топики являются комментариями. Такие темы, естественно, должны быть отсортированы по дате создания темы (что соответствует порядку следования номеров публикуемой газеты) и никак иначе.
 
 
GreatALF
Отправлено: 22 мая 2014 — 09:02
Post Id



Пользователь
Junior Member


Покинул форум
Сообщений всего: 55
Дата рег-ции: Июль 2013  
Откуда: Королев
Репутация: 3




Интересно, посмотрим Радость
 
 
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Модификации и дополнения »

> Похожие темы: Наброски: Сортировка тем в разделе
Темы Форум Информация о теме Обновление
Наброски: Шаблоны для оформления сообщений
Модификации и дополнения Ответов: 2
Автор темы: Deniss
2 января 2010 — 11:10
Автор: SADUKEY
Мод: Ограничение допустимого кол-ва тем в разделе
Модификации и дополнения Ответов: 0
Автор темы: Дядя Митя
26 ноября 2010 — 23:57
Автор: Дядя Митя
Сортировка списка тем
Общие вопросы Ответов: 1
Автор темы: Robo
19 сентября 2009 — 13:47
Автор: yura3d
Внешние ссылки без редиректа в одном разделе
Настройка форума Ответов: 2
Автор темы: nikk
28 марта 2011 — 14:04
Автор: M-A-X
Сортировка
Общие вопросы Ответов: 3
Автор темы: Zx
12 декабря 2010 — 13:19
Автор: Zx
 



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




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0968]     [ ]