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

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

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Strigops
phpBB 2.0.0
Сообщения: 203
Стаж: 14 лет 6 месяцев
Благодарил (а): 27 раз
Поблагодарили: 3 раза

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

Сообщение Strigops »

HAMMER663 писал(а):Strigops какие именно вы делали правки в файлах?
HAMMER663, я сделал правки для viewtopic.php, viewforum.php, includes/mcp/mcp_topic.php (правки от Поручика на первой странице этой темы), правки от Nekstati из этого сообщения и правки для личных сообщений по вашей инструкции. includes/functions.php не трогал. Стиль у меня сабсильвер2. В результате теперь, кнопка All работает в темах, форумах, в личных сообщениях и при модерировании темы. На данный момент эту кнопку надо "оживить" в галерее при просмотре списка альбомов и собственно самих изображений в альбомах, а так-же на таких необходимых страницах как Активные темы, Непрочитанные сообщения, Новые сообщения, Ваши сообщения и Сообщения без ответов.
P.S. Кнопку All у меня видят только модераторы, так что особой нагрузки на форум данная функция создавать не будет.
Последний раз редактировалось Strigops 22.01.2013 17:13, всего редактировалось 2 раза.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

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

Сообщение HAMMER663 »

Вот эти правки от Поручика делать не надо тогда

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

#----- [FIND] ---------
#
	$template->assign_vars(array(
		$tpl_prefix . 'BASE_URL'		=> $base_url,

#
#----- [BEFORE, ADD] ---------
#
	if ($total_pages > 1)
	{
		$page_string .= '&nbsp;<a href="' . $base_url . "{$url_delim}page=all" . '">' . $user->lang['ALL_POSTS'] . '</a>';
	}
а конкретно вносить в каждый файл правки по моей инструкции по подобию
Все сообщения в теме на одной странице.
Так же советую прочитать всю тему. Много полезного есть.

Добавлено спустя 30 минут 48 секунд:
Для галереи на странице с фотографиями альбома /gallery/album.php
Найти

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

$mode		= request_var('mode', '');
добавить после

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

$page		= request_var('page', '');
Найти

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

		if ($mode == 'slide_show')
		{
			/**
			* Slideshow - Using message_body.html
Добавить перед

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

		if ($page == 'all') 
		{ 
			$images_per_page = $image_counter; 
			$start = 0; 
		}
Найти

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

 	'PAGINATION'				=> 
Добавить после

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

	'U_GALLERY_ALL'				=> phpbb_gallery_url::append_sid('album', "album_id=$album_id&page=all"),
в стилях album_body.html
Найти

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

			{TOTAL_IMAGES}<!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ENDIF -->
Заменить на

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

			{TOTAL_IMAGES}<!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION} &nbsp; <a href="{U_GALLERY_ALL}">{L_GALLERY_ALL}</a></span><!-- ENDIF -->
L_GALLERY_ALL прописать в языковых файлах
как-то так

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

'L_GALLERY_ALL' => 'Все',
Аватара пользователя
Strigops
phpBB 2.0.0
Сообщения: 203
Стаж: 14 лет 6 месяцев
Благодарил (а): 27 раз
Поблагодарили: 3 раза

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

Сообщение Strigops »

HAMMER663, спасибо, теперь в альбомах все изображения на одной странице Изображение. Но у меня так и не получается "оживить" кнопку на таких страницах как Активные темы, Непрочитанные сообщения, Новые сообщения, Ваши сообщения и Сообщения без ответов. Как я понимаю, править надо файл search.php. Пробовал делать по вашей инструкции, но у меня не выходит "оживить" кнопку. Если не трудно, напишите, пожалуйста, еще инструкцию для этих страниц.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11372
Стаж: 16 лет 9 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

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

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

Читаю и понять не могу - о каких альбомах идет речь? В настоящей галере что ль? Или вы так темы называете?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

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

Сообщение HAMMER663 »

Strigops напишу, но чуть позже) начались трудовые будни))
Пчелкин об альбомах в phpBB Gallery (nickvergessen)
Аватара пользователя
Strigops
phpBB 2.0.0
Сообщения: 203
Стаж: 14 лет 6 месяцев
Благодарил (а): 27 раз
Поблагодарили: 3 раза

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

Сообщение Strigops »

HAMMER663 писал(а):Strigops напишу, но чуть позже) начались трудовые будни))
Спасибо, жду.
Пчелкин писал(а):Читаю и понять не могу - о каких альбомах идет речь? В настоящей галере что ль? Или вы так темы называете?
Вроде понятно выше написал:
Strigops писал(а):На данный момент эту кнопку надо "оживить" в галерее при просмотре списка альбомов и собственно самих изображений в альбомах
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11372
Стаж: 16 лет 9 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

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

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

Strigops писал(а): надо "оживить" в галерее при просмотре списка альбомов
Так вот я не понимаю - ЗАЧЕМ?. И списки и количество ИЗО на странице альбома настраиваются в админке...
Какие проблемы?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

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

Сообщение HAMMER663 »

Для поиска в search.php найти

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

		else
		{
			$search_id = '';
		}
$total_match_count = sizeof($id_ary);
После вставить

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

		if ($page == 'all') 
		{ 
			$per_page = $total_match_count; 
			$start = 0; 
		}
Найти

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

'PAGINATION'		=> generate_pagination($u_search, $total_match_count, $per_page, $start),
После вставить

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

'U_SEARCH_ALL'		=> append_sid("{$phpbb_root_path}search.$phpEx", $u_search . '&page=all'),
Ну в шаблон вывести надеюсь сможете?
Аватара пользователя
Strigops
phpBB 2.0.0
Сообщения: 203
Стаж: 14 лет 6 месяцев
Благодарил (а): 27 раз
Поблагодарили: 3 раза

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

Сообщение Strigops »

HAMMER663, в моем search.php первый приведенный вами кусок кода несколько отличается от вашего, а

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

$total_match_count = sizeof($id_ary)
встречается два раза. Все это дело выглядит вот так:

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

$total_match_count = sizeof($id_ary) + $start;
			$id_ary = array_slice($id_ary, 0, $per_page);
		}
		else if ($search_id == 'unreadposts')
		{
			$id_ary = array_keys(get_unread_topics($user->data['user_id'], $sql_where, $sql_sort, 1001 - $start, $start));

			$total_match_count = sizeof($id_ary) + $start;
			$id_ary = array_slice($id_ary, 0, $per_page);
		}
		else
		{
			$search_id = '';
		}
Пробовал методом тыка вставлять приведенный вами код в разные места, но не работает. Куда в моем случае надо прописать приведенную вами первую правку?

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

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

Сообщение HAMMER663 »

Strigops у вас какая версия форуме? в 3.0.11 такой фигни нет. там именно так как я написал.
После

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

		else
		{
			$search_id = '';
		}
у вас что идет?
Аватара пользователя
Strigops
phpBB 2.0.0
Сообщения: 203
Стаж: 14 лет 6 месяцев
Благодарил (а): 27 раз
Поблагодарили: 3 раза

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

Сообщение Strigops »

У меня пока 3.0.10. Знаю что надо обновится, но пока все руки не доходят. Вот что идет после:

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

else
		{
			$search_id = '';
		}
	}

	// make sure that some arrays are always in the same order
	sort($ex_fid_ary);
	sort($m_approve_fid_ary);
	sort($author_id_ary);

	if (!empty($search->search_query))
	{
		$total_match_count = $search->keyword_search($show_results, $search_fields, $search_terms, $sort_by_sql, $sort_key, $sort_dir, $sort_days, $ex_fid_ary, $m_approve_fid_ary, $topic_id, $author_id_ary, $sql_author_match, $id_ary, $start, $per_page);
	}
	else if (sizeof($author_id_ary))
	{
		$firstpost_only = ($search_fields === 'firstpost' || $search_fields == 'titleonly') ? true : false;
		$total_match_count = $search->author_search($show_results, $firstpost_only, $sort_by_sql, $sort_key, $sort_dir, $sort_days, $ex_fid_ary, $m_approve_fid_ary, $topic_id, $author_id_ary, $sql_author_match, $id_ary, $start, $per_page);
	}

	// For some searches we need to print out the "no results" page directly to allow re-sorting/refining the search options.
	if (!sizeof($id_ary) && !$search_id)
	{
		trigger_error('NO_SEARCH_RESULTS');
	}

	$sql_where = '';

	if (sizeof($id_ary))
	{
		$sql_where .= $db->sql_in_set(($show_results == 'posts') ? 'p.post_id' : 't.topic_id', $id_ary);
		$sql_where .= (sizeof($ex_fid_ary)) ? ' AND (' . $db->sql_in_set('f.forum_id', $ex_fid_ary, true) . ' OR f.forum_id IS NULL)' : '';
		$sql_where .= ($show_results == 'posts') ? $m_approve_fid_sql : str_replace(array('p.post_approved', 'p.forum_id'), array('t.topic_approved', 't.forum_id'), $m_approve_fid_sql);
	}

	if ($show_results == 'posts')
	{
		include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
	}
	else
	{
		include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
	}

	$user->add_lang('viewtopic');
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

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

Сообщение HAMMER663 »

Strigops попробуй вставить после

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

	if (!empty($search->search_query))
	{
		$total_match_count = $search->keyword_search($show_results, $search_fields, $search_terms, $sort_by_sql, $sort_key, $sort_dir, $sort_days, $ex_fid_ary, $m_approve_fid_ary, $topic_id, $author_id_ary, $sql_author_match, $id_ary, $start, $per_page);
	}
	else if (sizeof($author_id_ary))
	{
		$firstpost_only = ($search_fields === 'firstpost' || $search_fields == 'titleonly') ? true : false;
		$total_match_count = $search->author_search($show_results, $firstpost_only, $sort_by_sql, $sort_key, $sort_dir, $sort_days, $ex_fid_ary, $m_approve_fid_ary, $topic_id, $author_id_ary, $sql_author_match, $id_ary, $start, $per_page);
	}
Вообще надо просто подвигать вниз/вверх этот код.
Аватара пользователя
Strigops
phpBB 2.0.0
Сообщения: 203
Стаж: 14 лет 6 месяцев
Благодарил (а): 27 раз
Поблагодарили: 3 раза

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

Сообщение Strigops »

Вставлял

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

if ($page == 'all') 
		{ 
			$per_page = $total_match_count; 
			$start = 0; 
		}
и после приведенного выше и двигал вверх/вниз, пробуя разные варианты. Не хочет работать.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

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

Сообщение HAMMER663 »

Тут не знаю чем помочь. У меня на 3.0.11 работает, а на 3.0.10 проверить нет возможности.

Ссылка для вызова должна иметь вид /search.php?search_id=active_topics&page=all
Аватара пользователя
Strigops
phpBB 2.0.0
Сообщения: 203
Стаж: 14 лет 6 месяцев
Благодарил (а): 27 раз
Поблагодарили: 3 раза

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

Сообщение Strigops »

Ясно. Спасибо. Тогда надо обновится.

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