Страницы: 1, 2, 3, ..., 45, 46, 47, ВСЕ

Идеи для расширения функциональности phpBB 2.0.x
Аватара пользователя
Oleg NT
Former team member
Сообщения: 450
Стаж: 19 лет 3 месяца
Откуда: Нижний Тагил
Поблагодарили: 2 раза

Страницы: 1, 2, 3, ..., 45, 46, 47, ВСЕ

Сообщение Oleg NT »

Есть такой мод на ссылку в страницах "ВСЕ", где нет разбивки на страницы? (На каком-то форуме видел, давно).

Например:

Страницы: 1, 2, 3, ..., 45, 46, 47, ВСЕ
Kastaneda
Former team member
Сообщения: 702
Стаж: 20 лет 6 месяцев

Сообщение Kastaneda »

MOD Title: Big threads in one page
MOD Author: Sergeant http://www.vladivostok.ru/forum4
MOD Description: This hack allows users to read multi-page topics without switching between pages.
Добавлено спустя 2 минуты 28 секунд:

Или так: http://www.phpbbguru.net/community/view ... ++one+page
Аватара пользователя
Oleg NT
Former team member
Сообщения: 450
Стаж: 19 лет 3 месяца
Откуда: Нижний Тагил
Поблагодарили: 2 раза

Сообщение Oleg NT »

спасибки
Аватара пользователя
Voyageur
phpBB 1.4.2
Сообщения: 63
Стаж: 19 лет 3 месяца

Сообщение Voyageur »

А у меня после установки мода произошло вот что:

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

Could not obtain post/user information.
DEBUG MODE
SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt WHERE p.topic_id = 6 AND pt.post_id = p.post_id AND u.user_id = p.poster_id if ( !(Resource id #21 = (SELECT notify_status FROM phpbb_topics_watch WHERE topic_id = 6 AND user_id = 2)) )    ORDER BY p.post_time ASC    LIMIT 165, 15
Line : 399
File : viewtopic.php
Можно по русски, где я налагал? :roll:
Сила Твоя всегда с Тобой
Аватара пользователя
Oleg NT
Former team member
Сообщения: 450
Стаж: 19 лет 3 месяца
Откуда: Нижний Тагил
Поблагодарили: 2 раза

Сообщение Oleg NT »

А я не стал ставить, так как видимо мод старый, а версия phpBB у меня новая. Я не нашел строку, которую надо было найти (точнее нашел, но несколько в видоизмененном виде).
Аватара пользователя
Никто
Advanced Lamers Team
Сообщения: 316
Стаж: 19 лет 3 месяца
Откуда: Химки
Забанен: Бессрочно

Сообщение Никто »

Проверьте этот запрос вы забыли сюда что-то вписать по всей видимости
Долой edgar'a - самого тупого юзера на форуме!
Kastaneda
Former team member
Сообщения: 702
Стаж: 20 лет 6 месяцев

Сообщение Kastaneda »

Oleg NT писал(а):Я не нашел строку, которую надо было найти (точнее нашел, но несколько в видоизмененном виде).
Инструкция не совсем точна и довольно таки корява. Сейчас проверил на чистом дистрибутиве phpBB 2.0.19. Ставится нормально, но у новичков могут возникнуть два затруднения с файлом viewtopic.php. Вот выкладываю инструкцию, заточенную под чистый phpBB 2.0.19.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Voyageur
phpBB 1.4.2
Сообщения: 63
Стаж: 19 лет 3 месяца

Сообщение Voyageur »

Kastaneda, угу, спасибо - сейчас поставлю.
:D

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

Ага, все работает, НО когда нажимаю на "Все сообщения" самой теме (не когда я уже открыл тему) вылезает шапка форума и и больше ничего. :shock: .
ЗЫ Сорри, за тупость - а после какой строчки в viewtopic.php надо поставить <br>, чтобы номера страниц отображались ПОД названием темы, а не после названия? :roll:
Сила Твоя всегда с Тобой
Kastaneda
Former team member
Сообщения: 702
Стаж: 20 лет 6 месяцев

Сообщение Kastaneda »

Voyageur писал(а):чтобы номера страниц отображались ПОД названием темы, а не после названия?
Это нужно в файле viewtopic_body.tpl {PAGINATION} поместить где-то рядом с {TOPIC_TITLE}.
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 20 лет 1 месяц

Сообщение quazi »

если у вас действительно много многостраничных тем
если у вас есть желание иметь такую возможность

подправьте его

например так
в тексте самого мода найдите вот эти строчки

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

# 
#-----[ FIND ]------------------------------------------ 
#
$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;

# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
if(!$HTTP_GET_VARS['start']) {
	$start='0';
} else{
	$start=(intval($HTTP_GET_VARS['start']) == $HTTP_GET_VARS['start']) ? (intval($HTTP_GET_VARS['start'])) : ('all');
};
и вместо REPLACE WITH из оригинала мода выполните вот эти

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

# 
#-----[ FIND ]------------------------------------------ 
#
$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;

# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
if (@$_GET['start'] != 'all') {
    $start = intval(@$_GET['start']);
}
Последний раз редактировалось quazi 15.01.2006 19:09, всего редактировалось 1 раз.
Kastaneda
Former team member
Сообщения: 702
Стаж: 20 лет 6 месяцев

Сообщение Kastaneda »

Не понял, что делает предложенный код?
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 20 лет 1 месяц

Сообщение quazi »

Kastaneda

выше поправил
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

quazi
И все таки это идет вразрез со стандартами кодирования phpBB, не находите? Особенно использование неинициализированных переменных с оператором подавления предупреждения.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 20 лет 1 месяц

Сообщение quazi »

Xpert
не буду спорить. стандарты кодирования phpBB действительно нарушены

все-таки форум - не основное мое занятие :)
тем не менее - это стандартное решение в PHP

Добавлено спустя 30 секунд:

дабы соблюсти указанные стандарты, я перепишу мой предыдущий пост
quazi писал(а):вместо REPLACE WITH из оригинала мода выполните вот эти

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

# 
#-----[ FIND ]------------------------------------------ 
#
$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;

# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
$start = ( isset($HTTP_GET_VARS['start']) ) ? $HTTP_GET_VARS['start'] : 0;
if ( $start != 'all' )
{
    $start = intval($start);
}
Аватара пользователя
Oleg NT
Former team member
Сообщения: 450
Стаж: 19 лет 3 месяца
Откуда: Нижний Тагил
Поблагодарили: 2 раза

Сообщение Oleg NT »

Сорри за беспокойство, но сейчас я к несовпадениям к модам отношусь серьезно (на то есть определенные причины =) ).

Вот строчка в моде:

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

# 
#-----[ FIND ]------------------------------------- 
#
	ORDER BY p.post_time $post_time_order
	LIMIT $start, ".$board_config['posts_per_page'];

# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
	ORDER BY p.post_time $post_time_order ".$_limit;

А у меня участок:

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

	ORDER BY p.post_time $post_time_order
	LIMIT $start, ".(isset($finish)? ((($finish - $start) > 0)? ($finish - $start): -$finish): $board_config['posts_per_page']);
Идет несоответствие после "LIMIT"

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