Сообщений на страницу в UCP

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Сообщений на страницу в UCP

Сообщение evrus01 »

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

Данная функция есть в администраторском разделе и применяется ко всей конференции.
Возможно ли такое реализовать в персональных настройках? Например, на странице настроек отображения ucp.php?i=prefs&mode=view

Спасибо.
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Сообщений на страницу в UCP

Сообщение evrus01 »

Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Сообщений на страницу в UCP

Сообщение Пчелкин »

Имейте ввиду что он немного ломает поиск...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Сообщений на страницу в UCP

Сообщение evrus01 »

Поставил.
Про поиск можно поподробнее?
Отпишу пока, что у меня вышло. Пагинация в поиске отображается в соответствии с настройками конференции. То есть, например, в ACP у меня стоит значение 25, соответственно выводит в поиске 25 сообщений, не зависимо от настроек UCP (для теста поставил 1). Как я понял, настройка UCP действует только относительно просмотра темы.
Также не влияет на просмотр пользователей, то же значение равное 25 (мое значение в ACP).

Так что пока не понял, как модификация "ломает" поиск.

Добавлено спустя 6 минут 20 секунд:
Хех, обнаружил другой баг. Даже не баг, а скорее недоработку.
Пагинация, которая отображает в списке форумов не меняется. Т.е. отображается то значение, которое выставлено в ACP.
Например я выставил в UCP значение равное 10 и в теме с 51 сообщением получил 6 страниц, но при этом в ACP у меня стоит 25, а значит в списке форумов будет всего 3 страницы.

Добавлено спустя 7 минут 47 секунд:
Вот этот мод в БД http://www.phpbb.com/customise/db/mod/posts_per_page/
А вот баг который я описал выше: http://www.phpbb.com/customise/db/mod/p ... n_-t_95859

Добавлено спустя 10 минут 33 секунды:
Сделал фикс, который указан здесь. Теперь в поиске, например, когда жмешь [Новые сообщения] пагинация работает как надо. А вот в списке форумов все равно отображается в соответствии с настройками ACP.
Подозреваю, что надо править functions_display.php, но сам не справлюсь. Есть у кого идеи?

Добавлено спустя 1 час 19 минут 51 секунду:
Сделал и отписался на оффоруме.
Решение
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Сообщений на страницу в UCP

Сообщение evrus01 »

Возникла необходимость ограничить максимальное количество постов на страницу.
Подскажите, как это реализовать?

Добавлено спустя 31 минуту 17 секунд:
Сделал все через шаблон.

maxLength="2" соответственно в поле можно задать максимальное значение 99.
Настройки отображения • Личный раздел • EVE-PLAY-151841.png
В html5 добавлен значение number для атрибута type.
Настройки отображения • Личный раздел • EVE-PLAY-151310.png
Выглядит прикольно, но не работает maxLength="2", а также type="number" не поймут IE, FF и Safari.

Так что возвращаемся к первому варианту, где type="text".
Однако в такое поле помимо цифр можно ввести и другие символы, в результате мы получим ошибку. Да вот такие у меня пользователи. Ввести в числовое поле буквы — да не проблема. Ну что же, исправим это с помощью js.

Финальный вариант получился такой:

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

<input type="text" id="posts_pp" name="posts_pp" size="2" value="{S_POSTS_PER_PAGE}" maxLength="2" class="inputbox" style="width: 25px;" onkeypress="if((event.keyCode < 48)||(event.keyCode > 57)) event.returnValue=false" />
В итоге имеем поле в которое можно ввести только цифры и только два символа (т.е. максимальное значение 99, что вполне меня устраивает).

Может кому пригодится вот такое решение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Сообщений на страницу в UCP

Сообщение evrus01 »

Переделал все на jQuery

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

(function($){
	$(document).ready(function(){
		$('#posts_pp').keypress(function(e){
			if ((e.which < 48 || e.which > 57) && 0 != e.which && 8 != e.which)
				return false;

			if (0 != e.which || 8 != e.which) {
				var val = e.target.value + (e.which - 48);

				if (1 > val || 100 < val)
					return false;
			}
		});
	});
})(jQuery);
Только цифры и значение не больше 100

Добавлено спустя 2 минуты 18 секунд:
Шаблон, в этом случае, будет выглядеть вот так:

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

<dl>
			<dt><label>{L_VIEW_POSTS_PER_PAGE}:</label></dt>
			<dd><input type="text" id="posts_pp" name="posts_pp" size="3" value="{S_POSTS_PER_PAGE}" maxLength="3" class="inputbox" style="width: 25px;" /></dd>
		</dl>

Вернуться в «Запросы модов для phpBB 3.0.x»