Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Вывод тем под родительскими форумами

Идеи для расширения функциональности phpBB 2.0.x
proekt
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 10 месяцев

Вывод тем под родительскими форумами

Сообщение proekt »

Доброго времени суток.
Есть форум phpBB 2.0.20 с одной категорией.
Хочется на его главной странице, под названиями форумов, вытаскивать из БД несколько (3 или 5 или 10) ссылок на последние затрагиваемые темы этого форума.
Т.е. примерно такое дерево:

Категория_1
--Форум_1
-----Последняя затронутая тема в этом форуме
-----Предпоследняя затронутая тема в этом форуме
-----ПредПредпоследняя затронутая тема в этом форуме
--Форум_2
-----Последняя затронутая тема в этом форуме
-----Предпоследняя затронутая тема в этом форуме
-----ПредПредпоследняя затронутая тема в этом форуме
--Форум_3
-----Последняя затронутая тема в этом форуме
-----Предпоследняя затронутая тема в этом форуме
-----ПредПредпоследняя затронутая тема в этом форуме
--Форум_4
-----Последняя затронутая тема в этом форуме
-----Предпоследняя затронутая тема в этом форуме
-----ПредПредпоследняя затронутая тема в этом форуме
--Форум_5
-----Последняя затронутая тема в этом форуме
-----Предпоследняя затронутая тема в этом форуме
-----ПредПредпоследняя затронутая тема в этом форуме

К сожалению в админке форума я не нашел такой ф-ии.
Мода на Вашем сайте тоже. Поиск на сайте тоже не помог.

Я уже попытался сам написать. Но очень сильно всё переплетено (переменные, шаблоны, массивы, циклы...), что нехватило сил разбираться...

Ткните меня в мод, если есть такой конечно.
Либо покажите файл index.php с комментариями, что бы я понял, как осущ. связь, между генерируемыми в этом файле значениями переменных с файлами темплейта, может сам напишу, если нервы не сдадут... Я сам могу сделать свои запросы в БД и вывести это в любом месте своего портала, но вот чтобы именно под родительскими форумами, да еще и в одном дизайне... :(

Заранее спасибо...
Бесплатная общетематическая библиотека: http://i--i.ru
Статьи. Публикации. Обзоры.
proekt
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 10 месяцев

Сообщение proekt »

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

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

<?
$print_topegs = 1;// заканчивать дерево темами / либо "0", если хотите закончить вывод только форумами без дочерних тем
$count_print_topegs = 5; // поскольку тем выводить после каждого форума

function PF($n, $form1, $form2, $form5)
{ $n = abs($n) % 100; $n1 = $n % 10; if ($n > 10 && $n < 20) return $form5; if ($n1 > 1 && $n1 < 5) return $form2; if ($n1 == 1) return $form1; return $form5; }

$query_categories = mysql_query("SELECT * FROM j_categories ORDER by cat_order"); // запрашиваем категории
if (mysql_num_rows($query_categories)) // если категории есть
{
	while ($categories = mysql_fetch_assoc($query_categories)) // стряпаем в цикле ассоциативный массив категорий
	{
		echo "<font size=\"+3\" color=\"#FF9900\"><strong>".$categories['cat_title']."</strong></font>";
		echo "<div style=\"margin-left:30px; margin-bottom:30px; margin-top:5px\">";
		$query_forums = mysql_query("SELECT * FROM j_forums WHERE cat_id = '".$categories['cat_id']."' ORDER by forum_order"); // запрашиваем форумы
		if (mysql_num_rows($query_forums)) // если форумы есть
		{
			while ($forums = mysql_fetch_assoc($query_forums)) // стряпаем в цикле ассоциативный массив форумов
			{
				if ($forums['forum_topics'] != 0)
				{
					echo "<a href=\"http://".$_SERVER['HTTP_HOST']."/forum/viewforum.php?f=".$forums['forum_id']."\"><strong style=\"text-transform:uppercase\" title=\"".$forums['forum_name']."\">".$forums['forum_name']."</strong></a> (Всего в форуме ".$forums['forum_topics']." ".PF($forums['forum_topics'],"тема","темы","тем").")<br /><em>".$forums['forum_desc']."</em><br>";
				
					if ($print_topegs == 1) // если включен вывод тем - 
					{
						$query_topegs = mysql_query("SELECT * FROM j_topics WHERE forum_id = '".$forums['forum_id']."' ORDER by topic_time LiMIT $count_print_topegs"); // запрашиваем 5 тем каждого форума
						if (mysql_num_rows($query_topegs)) // если темы есть
						{
							echo "<div style=\"margin-left:30px; margin-bottom:30px; margin-top:5px\">";
							while ($topegs = mysql_fetch_assoc($query_topegs)) // стряпаем в цикле ассоциативный массив топегоф
							{
								echo "<a href=\"http://".$_SERVER['HTTP_HOST']."/forum/viewtopic.php?t=".$topegs['topic_id']."\" title=\"".$topegs['topic_title']."\">".$topegs['topic_title']."</a> | ".$topegs['topic_views']." ".PF($topegs['topic_views'],"просмотр","просмотра","просмотров")." | ".$topegs['topic_replies']." ".PF($topegs['topic_replies'],"ответ","ответа","ответов")."<br>";
							}
							echo "</div>";
						}
					}
				}
			}
		}
		echo "</div>";
	}
}
?>
Я прошу мне помочь скрестить этот код с ГЛАВНОЙ СТРАНИЦЕЙ ФОРУМА, т.е. с основным шаблоном форума...
Поможите, люди добрые.
Бесплатная общетематическая библиотека: http://i--i.ru
Статьи. Публикации. Обзоры.

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