Уважаемые пользователи, по техническим причинам загрузка файлов временно недоступна. Приносим извинения за временные неудобства.

Все сообщения в теме на одной странице.

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 6 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

Re: Все сообщения в теме на одной странице.

Сообщение romeo_piter »

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

Re: Все сообщения в теме на одной странице.

Сообщение evrus01 »

romeo_piter писал(а):Главный вопрос немного сменился. Можно ли сделать постраничные линки в печатной форме.
Не понимаю зачем это нужно. Версия для печати необходима для sic! печати. Даже если у вас тема вышла на одну страницу, не факт, что при печати она влезет на один лист. Так зачем там нужна пагинация? Мне не понятно.

Добавлено спустя 2 минуты 6 секунд:
По поводу ограничения количества выводимых постов, ждем решения от многоуважаемого HAMMER663.
Надеюсь он найдет время для этого. Хотя бы без оформления в виде мода.
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 6 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

Re: Все сообщения в теме на одной странице.

Сообщение romeo_piter »

evrus01 писал(а):Так зачем там нужна пагинация? Мне не понятно.
Наличие постраничных ссылок в печатной версии облегчило бы людям возможность распечатки длинной темы при отсутствии этого хака.
Но раз хак работает - вопрос отпал.

Вы не поделитесь решением для print'a
Как заставить {U_PRINT_TOPIC} различать, находится ли он на обычном варианте темы или на полном?
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Все сообщения в теме на одной странице.

Сообщение evrus01 »

romeo_piter, так у меня нет решения :) Я просто показал, как должна выглядеть ссылка в случае печати всей темы.
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 6 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

Re: Все сообщения в теме на одной странице.

Сообщение romeo_piter »

Ничего умнее я придумать не смог.
Добавил второй значок на распечатку полной темы с такой ссылкой во viewtopic.php:

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

'U_PRINT_TOPIC_FULL'	=> ($auth->acl_get('f_print', $forum_id)) ? $viewtopic_url . '&page=all&view=print' : '',
Добавлено спустя 30 минут 58 секунд:
При попытке распечатать тему на 50 листов умер ВПС - пришлось перезагружать - ну его нафиг это баловство )
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 7 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1455 раз

Re: Все сообщения в теме на одной странице.

Сообщение Nekstati »

romeo_piter писал(а):Можно ли сделать постраничные линки в печатной форме.
viewtopic_print.html

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

		<div class="page-number">{PAGE_NUMBER}</div>
Заменить на

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

		<div class="page-number">{PAGE_NUMBER}&nbsp;&nbsp;&nbsp;<!-- IF PAGINATION --><!-- IF PREVIOUS_PAGE --><a href="{PREVIOUS_PAGE}&view=print">{L_PREVIOUS}</a>&nbsp;<!-- ENDIF --><!-- IF NEXT_PAGE --><a href="{NEXT_PAGE}&view=print">{L_NEXT}</a>&nbsp;<!-- ENDIF --><!-- ENDIF --></div>
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Все сообщения в теме на одной странице.

Сообщение HAMMER663 »

На коленке.(полная инструкция для файла viewtopic.php)
после

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

$view		= request_var('view', '');
добавить

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

$page		= request_var('page', '');
Перед

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

// Make sure $start is set to the last page if it exceeds the amount
Добавить

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

$max_total_posts = 100;
if ($total_posts <= $max_total_posts)
if ($page == 'all')
{
	$config['posts_per_page'] = $total_posts;
	$start = 0;
}
Где 100 максимальное число постов, при которых будет показываться ссылка.
Далее, ищем

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

'U_FORUM'				=> $server_path,
перед вставляем

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

	'U_TOPIC_ALL'			=> append_sid("{$phpbb_root_path}viewtopic.$phpEx?f=$forum_id&t=$topic_id&page=all"),
	'S_TOPIC_ALL'			=> ($total_posts <= $max_total_posts ) ? true : false,
Далее в шаблоне найти (просильвер)
<span>{PAGINATION}</span>
после в этой же строке добавить

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

<!-- IF S_TOPIC_ALL -->&nbsp;<span><a href="{U_TOPIC_ALL}">{L_TOPIC_ALL}</a></span><!-- ENDIF -->
В ленг файл

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

	'TOPIC_ALL'						=> 'Все',	
Добавлено спустя 38 секунд:
Можно, конечно, вывести настройку в админку.

Добавлено спустя 4 минуты 29 секунд:
Если надо скрыть от ботов

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

<!-- IF S_TOPIC_ALL -->
заменить на

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

<!-- IF S_TOPIC_ALL and not S_IS_BOT -->
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Вывод всей темы на одной странице

Сообщение HAMMER663 »

viewtopic.php
найти

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

// Make sure $start is set to the last page if it exceeds the amount
Добавить перед

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

if($view == 'print')
{
	$config['posts_per_page'] = $total_posts;
	$start = 0;
}
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Все сообщения в теме на одной странице.

Сообщение evrus01 »

HAMMER663 писал(а):Далее в шаблоне найти (просильвер)
<span>{PAGINATION}</span>
после в этой же строке добавить
Дважды?
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Все сообщения в теме на одной странице.

Сообщение HAMMER663 »

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

Re: Все сообщения в теме на одной странице.

Сообщение evrus01 »

И как сделать чтобы при просмотре форумов не отображалось [Все сообщения], если более 100
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Все сообщения в теме на одной странице.

Сообщение HAMMER663 »

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

if ($page == 'all') 
{ 
   $config['topics_per_page'] = $topics_count; 
   $start = 0; 
}
замени на

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

$max_topics_count = 100;
if ($topics_count <= $max_topics_count)
if ($page == 'all') 
{ 
   $config['topics_per_page'] = $topics_count; 
   $start = 0; 
}
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Все сообщения в теме на одной странице.

Сообщение evrus01 »

HAMMER663, заменил, но по прежнему кнопки имеются.

Правки у меня были сделаны, как описано в этом посте.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Все сообщения в теме на одной странице.

Сообщение HAMMER663 »

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

Re: Все сообщения в теме на одной странице.

Сообщение evrus01 »

Разве не из viewforum.php ?
заменил в viewtopic.php

Фрагмент кода выглядит следующим образом:

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

$max_total_posts = 100;
if ($total_posts <= $max_total_posts)
$max_topics_count = 100;
if ($topics_count <= $max_topics_count)
if ($page == 'all') 
{ 
   $config['topics_per_page'] = $topics_count; 
   $start = 0; 
}


Кнопка [все сообщения]при просмотре списка форумов (viewforum.php) присутствует, не зависимо от количества постов в топике.

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