[final] Recent topics for phpBB3 (Темы на стр. сайта)

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 21 год 2 месяца
Поблагодарили: 44 раза

Сообщение Rayden »

И получит еще один абзац. Отличное решение :lol:
phpBB2 FAQ
phpBB3 FAQ
o9uH
phpBB 1.2.1
Сообщения: 20
Стаж: 20 лет 9 месяцев
Откуда: Moscow

Сообщение o9uH »

Metag
phpBB 1.4.2
Сообщения: 51
Стаж: 18 лет 7 месяцев
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Сообщение Metag »

Всем спасибо!
Решил проблему так

скрипт в header.html взял в теги заголовков h2 получилось именно то что хотелось.

Я не очень силен в пхп - такой вопрос - можно в этот мод добавить частичку которая будет среди всех тем выводить на первое место одну случайную из тех тем где количество просмотров выше определенного уровня?
Спасибо за ваш портал!!!
Аватара пользователя
VladPowers
phpBB 1.4.2
Сообщения: 53
Стаж: 21 год 6 месяцев
Откуда: Бузулук 56rus
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Сообщение VladPowers »

AD писал(а):какой переменной добавить пользователя, чтобы он раскрашивался соответственно модератор оставил это сообщение, администратор, или пользователь другой группы.
Открыть файл /recent.php
Найти:

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

$sql = 'SELECT t.topic_id, t.forum_id, t.topic_title, t.topic_last_post_id, t.topic_first_post_id, t.topic_replies, t.topic_replies_real, p.post_id, p.post_text, p.bbcode_uid, p.bbcode_bitfield, p.post_attachment, p.post_approved
	FROM ' . TOPICS_TABLE . ' AS t, ' . POSTS_TABLE . ' AS p, ' . FORUMS_TABLE . " AS f
	WHERE t.forum_id = f.forum_id
		$sql_ignore_forums
		$sql_only_forums 
		AND p.post_id = t.topic_first_post_id
		AND t.topic_moved_id = 0
	ORDER BY t.topic_last_post_id DESC LIMIT $cfg_nm_topics";
Заменить:

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

$sql = 'SELECT t.*, p.post_id, p.post_text, p.bbcode_uid, p.bbcode_bitfield, p.post_attachment, p.post_approved
	FROM ' . TOPICS_TABLE . ' AS t, ' . POSTS_TABLE . ' AS p, ' . FORUMS_TABLE . " AS f
	WHERE t.forum_id = f.forum_id
		$sql_ignore_forums
		$sql_only_forums 
		AND p.post_id = t.topic_first_post_id
		AND t.topic_moved_id = 0
	ORDER BY t.topic_last_post_id DESC LIMIT $cfg_nm_topics";
Найти:

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

$topic_title = addslashes($topic_title);
Добавить после нее:

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

$last_post_poster = addslashes($row['topic_last_poster_name']);
Найти:

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

'S_HAS_ATTACHMENTS'		=> ($cfg_show_first_post && $cfg_show_attachments && !empty($attachments[$row['post_id']])) ? true : false,
Добавить после нее:

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

'POSTER_LAST_POST' 	=> '<font color="#' . $row['topic_last_poster_colour'] . '">' . $last_post_poster . '</font>',
Открыть файл /styles/xxx/template/recent_body.html
Найти:

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

document.writeln('{topicrow.TOPIC_REPLIES}<a href="{topicrow.U_TOPIC}">{topicrow.TOPIC_TITLE}</a><br />\n');
Заменить ее на:

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

document.writeln('<a href="{topicrow.U_TOPIC}">{topicrow.TOPIC_TITLE}</a> [{topicrow.POSTER_LAST_POST}] [{topicrow.TOPIC_REPLIES}]<br />\n');
Добавлено спустя 1 минуту 23 секунды:

пример работы можете посмотреть на http://forum.kia-club.ru
И точка лазерного прицела на твоём лбу - тоже чья-то точка зрения
C уважением, ВладМощный :)

Правда то, что существуют ангелы, но иногда у них отсутствуют крылья, и мы называем их друзьями.
AD
phpBB 1.4.3
Сообщения: 86
Стаж: 18 лет 6 месяцев
Забанен: Бессрочно

Сообщение AD »

VladPowers

Спасибо, но сделал без введения новых переменных уже.

Поделюсь чудным решением:

В файле recent.php находим

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

$topic_title = addslashes($topic_title);
после добавляем

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

$user_colour = ($row['user_colour']) ? ' style="color:#' . $row['user_colour'] . '" class="username-coloured"' : '';
находим

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

'TOPIC_REPLIES'	=> ($cfg_show_replies) ? '[' . $replies . '] ' : '',
добавляем после

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

'USERNAME_FULL'    => ($row['user_type'] != USER_IGNORE) ? get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']) : '<span' . $user_colour . '>' . $row['username'] . '</span>',
в шаблоне там, где хотите, чтобы появилось имя пользователя добавляем такую запись:

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

{topicrow.USERNAME_FULL}
В итоге всё записано по правилам, и кликая по никам, теперь вы можете просмотреть профиль пользователя. Если ссылку добавлять в шаблоне как в вариантах выше, то при наведении курсора на имя пользователя, появляется подчёркивание красного цвета в стандартном prosilver, в приведённом мною способе - подчёркивание появляется по цвету нику соответствующего пользователя, также, если пользователь принадлежит к какой-то группе, то имя пользователя выделяется более толстым шрифтом, если нет - как обычно. :wink:
Аватара пользователя
VladPowers
phpBB 1.4.2
Сообщения: 53
Стаж: 21 год 6 месяцев
Откуда: Бузулук 56rus
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Сообщение VladPowers »

AD
Спасибо, у Вас лучше реализована идея, только Вы забыли сказать что в

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

$sql = 'SELECT t.topic_id, t.forum_id, t.topic_title, t.topic_last_post_id, t.topic_first_post_id, t.topic_replies, t.topic_replies_real, p.post_id, p.post_text, p.bbcode_uid, p.bbcode_bitfield, p.post_attachment, p.post_approved 
   FROM ' . TOPICS_TABLE . ' AS t, ' . POSTS_TABLE . ' AS p, ' . FORUMS_TABLE . " AS f 
   WHERE t.forum_id = f.forum_id 
      $sql_ignore_forums 
      $sql_only_forums 
      AND p.post_id = t.topic_first_post_id 
      AND t.topic_moved_id = 0 
   ORDER BY t.topic_last_post_id DESC LIMIT $cfg_nm_topics";
надо добавить выборку значений и из таблицы user. В принципе все данные кроме user_type можно взять и в таблице topic
И точка лазерного прицела на твоём лбу - тоже чья-то точка зрения
C уважением, ВладМощный :)

Правда то, что существуют ангелы, но иногда у них отсутствуют крылья, и мы называем их друзьями.
AD
phpBB 1.4.3
Сообщения: 86
Стаж: 18 лет 6 месяцев
Забанен: Бессрочно

Сообщение AD »

rxu

Как сделать, чтобы 20-30 тем разбивалось на 2-3 столбика по 10 допустим?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Сообщение rxu »

AD
Нужно поэкспериментировать с шаблоном (создавать новый столбец в зависимости от номера строки), пока точнее сказать не могу, проверю.
Изображение
Magic
phpBB 1.0.0
Сообщения: 1
Стаж: 18 лет 4 месяца

Re: [final] Recent topics for phpBB3

Сообщение Magic »

VladPowers, AD
Я подправил recent.php так как посоветовал AD, мод работает, но пользователи не отображаются. Все сообщения подписаны "гость", т.е. как писал VladPowers нет выборки значений из таблицы user. Подскажите плиз как добавить выборку из таблицы user? Если я прописываю в SQL

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

$sql = 'SELECT t.topic_id, t.forum_id, t.topic_title, t.topic_last_post_id, t.topic_first_post_id, t.topic_replies, t.topic_replies_real, p.post_id, p.post_text, p.bbcode_uid, p.bbcode_bitfield, p.post_attachment, p.post_approved, u.user_type
	FROM ' . TOPICS_TABLE . ' AS t, ' . POSTS_TABLE . ' AS p, ' . FORUMS_TABLE . " AS f, ' . USERS_TABLE . " AS u
	WHERE t.forum_id = f.forum_id
		$sql_ignore_forums
		$sql_only_forums 
		AND p.post_id = t.topic_first_post_id
		AND t.topic_moved_id = 0
	ORDER BY t.topic_last_post_id DESC LIMIT $cfg_nm_topics";
то мод перестает отображаться на сайте, не работает. И еще, как вывести дату/время написания/изменения поста? Не пинайте плиз, я только учусь.
С уважением Олег.
vlkm

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение vlkm »

У меня выдаёт полностью новость с картинками, описанием, линками. Подскажите пожалуйста как правильно настроить что бы выдавались только заголовки или ещё лучше заголовки с маленькими картинками
Аватара пользователя
Alek$
Former team member
Сообщения: 2616
Стаж: 21 год 1 месяц
Откуда: Новосибирск
Поблагодарили: 37 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение Alek$ »

vlkm
первые несколько строчек recent.php
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
Первая помощь по всем phpBB-вопросам: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.
vlkm

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение vlkm »

У меня сообщения в форуме видны только для зарегистрированных пользователей. Если я логинулся на форуме, то и на сайте я вижу последние сообщения с форума, если не логинулся, и на сайте ничего не вижу. Если делаю изменения в настройках recent_cp1251.php тоже ничего не видно на сайте. Как правильно настроить вывод новостей с форума? Что именно надо прописать здесь
$cfg_ignore_forums = ''; // ids of forums you don't want to display, separated by commas or empty
$cfg_only_forums = ''; // ids of forums you only want to display, separated by commas or empty
$cfg_nm_topics = 15; // number of topics to output
$cfg_max_topic_length = 120; // max topic length, if more, title will be shortened
$cfg_show_replies = true; // show number of replies to topics
$cfg_show_first_post = true; // show first posts of the recent topics
$cfg_show_attachments = true; // show attachments in the first posts of recent topics
/* End of config */
Аватара пользователя
Alek$
Former team member
Сообщения: 2616
Стаж: 21 год 1 месяц
Откуда: Новосибирск
Поблагодарили: 37 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение Alek$ »

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

$cfg_ignore_forums = ''; // ids of forums you don't want to display, separated by commas or empty
$cfg_only_forums = ''; // ids of forums you only want to display, separated by commas or empty
$cfg_nm_topics = 15; // number of topics to output
$cfg_max_topic_length = 120; // max topic length, if more, title will be shortened
$cfg_show_replies = true; // show number of replies to topics
$cfg_show_first_post = false; // show first posts of the recent topics
$cfg_show_attachments = false; // show attachments in the first posts of recent topics
/* End of config */
Добавлено спустя 33 секунды:
А у гостей есть право видеть блок с последними топиками?
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
Первая помощь по всем phpBB-вопросам: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.
Аватара пользователя
VladPowers
phpBB 1.4.2
Сообщения: 53
Стаж: 21 год 6 месяцев
Откуда: Бузулук 56rus
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Re: [final] Recent topics for phpBB3

Сообщение VladPowers »

Magic
Прикрепляю файлы, которые работают у меня. Просто не видя твоего кода сложно что-то сказать умное.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
И точка лазерного прицела на твоём лбу - тоже чья-то точка зрения
C уважением, ВладМощный :)

Правда то, что существуют ангелы, но иногда у них отсутствуют крылья, и мы называем их друзьями.
vlkm

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение vlkm »

Alek$
На форуме гости могут видеть все названия тем и сообщений, но само сообщение только для зарегистрированных

Вернуться в «Бета-версии модов для phpBB 3.0.x»