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

First post on every page for phpBB3

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

First post on every page for phpBB3

Сообщение rxu »

В режиме создания или редактирования первого сообщения темы дает возможность закрепить первое сообщение вверху каждой страницы темы.
first_post_on_every_page_phpbb3_1.2.2.zip
(30.67 КБ) 4562 скачивания
first post on every page phpbb3 1.2.3

------------
Для установки на версию phpBB 3.0.6 :

В этой версии часть кода изменилась.
Поэтому в инструкции вместо

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

			// If the post need approval we will wait a lot longer.
использовать для поиска

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

                  // Check the permissions for post approval. Moderators are not affected.
После установки мода необходимо выполнить также следующую инструкцию (для снижения нагрузки на базу данных):

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

Open:
viewtopic.php

Find:
$post_list[$i] = $topic_data['topic_first_post_id'] ;

Replace to:
$post_list[$i] = (int) $topic_data['topic_first_post_id'] ;
Исправление ошибки с отображением информации о редактировании сообщения при закрепленном первом сообщении находится здесь.

FAQ

1. Кто имеет право закреплять сообщение?
Тот, кто имеет право закрывать тему.
First post on every page for phpBB3

2. Вопросы, собранные из темы, в одном сообщении:
First post on every page for phpBB3
Последний раз редактировалось Татьяна5 21.11.2014 8:43, всего редактировалось 8 раз.
Причина: Добавление ссылки на ответ о правах
Изображение
dmtr
phpBB 1.0.0
Сообщения: 2
Стаж: 11 лет 3 месяца

Re: First post on every page for phpBB3

Сообщение dmtr »

xsl файла не было, добавил его в архив
Вложения
post_on_every_page.zip
(26.87 КБ) 340 скачиваний
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Татьяна5 »

открывается, но таблицы стилей там нет - ничего прочитать невозможно
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 3 месяца
Благодарил (а): 42 раза
Поблагодарили: 251 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение c61 »

Что на мой взгляд не хватает в этом моде, так это пометки первого поста: "закреплён", чтобы пользователь легко мог это видеть. Или я плохо искал в этой теме?))
Предлагаются следующие дополнения (ниже - пример для стиля Artodia Deluxe,чтобы был понятен принцип):
  1. В viewtopic.php найти:

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

    		'S_TOPIC_POSTER'	=> ($topic_data['topic_poster'] == $poster_id) ? true : false,
    
    добавить после:

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

    		'S_STICKY_POST'		=> ($topic_data['topic_first_post_show'] && ($topic_data['topic_first_post_id'] == $row['post_id'])) ? true : false,
    
  2. В viewtopic_body.html (пример - стиль Artodia Deluxe) найти:

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

    			<h3 <!-- IF postrow.S_FIRST_ROW -->class="first"<!-- ENDIF -->><!-- IF postrow.POST_ICON_IMG --><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="" /> <!-- ENDIF --><a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a></h3>
    
    заменить на:

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

    			<h3 <!-- IF postrow.S_FIRST_ROW -->class="first"<!-- ENDIF -->><!-- IF postrow.S_STICKY_POST --><img src="images/sticky_gray.gif" alt="" />&nbsp;&nbsp;<!-- ENDIF --><!-- IF postrow.POST_ICON_IMG --><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="" /> <!-- ENDIF --><a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a></h3>
    
    затем найти:

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

    		<div class="back2top"><a href="#page-body" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div>
    
    и заменить на:

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

    	<!-- IF postrow.S_STICKY_POST -->
    		<div style="clear:both;"><img src="images/sticky_gray.gif" alt="" align="left"/><img src="images/sticky_gray.gif" alt="" align="right" /></div>
    	<!-- ELSE -->
    		<div class="back2top"><a href="#page-body" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div>
    	<!-- ENDIF -->
    
  3. Переписать прилагаемый файл sticky_gray.gif
    sticky_gray.gif
    sticky_gray.gif (255 байт) 1266 просмотров
    в /images.
Результат:
fpoep.jpg
fpoep.jpg (49.41 КБ) 1266 просмотров
Разумеется, всё можно сделать по своему вкусу для своего стиля. Так, для cтилей на основе subsilver2 можно вместо кнопки добавлять больший разделитель между первым и остальными постами.
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 3 месяца
Благодарил (а): 42 раза
Поблагодарили: 251 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение c61 »

Как я понял, проблема с сортировкой постов по убыванию так и не решена... То есть для случая "viewtopic.php?f=xxx&t=yyy&sd=d" на первой странице первого поста нет, а на всех последующих он имеется.

Предлагается простое решение:
  1. применив мод, в viewtopic.php после:

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

    if ($topic_data['topic_first_post_show'] && ($start != 0))
    {
    	if (!$store_reverse)
    	{
    		$post_list[$i] = (int) $topic_data['topic_first_post_id'];
    	}
    	$i++;
    }
    
    добавить:

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

    if ($topic_data['topic_first_post_show'] && ($start == 0))
    {
    	if (!$store_reverse && ($sort_dir == 'd'))
    	{
       		$post_list[$i] = (int) $topic_data['topic_first_post_id'];
       		$i++;
    	}
    }
    
  2. (int) перед $topic_data в исходном моде отсутствует (см. первый пост темы), так что если искомое не найдено, исключите из поиска "(int) ".
Конечно, первое условие можно переписать, но так проще и понятнее).

P.S. Проверено на 3.0.9, 3.0.11.
Аватара пользователя
nikromant
phpBB 1.4.2
Сообщения: 69
Стаж: 14 лет 3 месяца
Благодарил (а): 26 раз

Re: First post on every page for phpBB3

Сообщение nikromant »

Решил установить этот мод и сразу же после первого действия по мануалу проблемка.
Сделал SQL запрос

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

ALTER TABLE phpbb_topics ADD topic_first_post_show TINYINT(1) UNSIGNED DEFAULT '0' NOT NULL;
И получил ответ:
#1046 - No database selected
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Татьяна5 »

nikromant писал(а):No database selected
"База данных не выбрана". Выберите базу данных форума (в phpMyAdmin в списке слева)
Аватара пользователя
nikromant
phpBB 1.4.2
Сообщения: 69
Стаж: 14 лет 3 месяца
Благодарил (а): 26 раз

Re: First post on every page for phpBB3

Сообщение nikromant »

Не думал что надо выбирать БД, если она всего одна.
Сделал запрос заново. Ничего не произошло. Нажал повторно, вышло сообщение:
#1060 - Duplicate column name 'topic_first_post_show'
Я так понимаю, запрос получился и поэтому вышло это сообщение?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Татьяна5 »

Запрос прошел в 1-й раз, сообщение вышло из-за повтора
Sergiocharm
phpBB 2.0.7
Сообщения: 593
Стаж: 13 лет 6 месяцев
Благодарил (а): 57 раз
Поблагодарили: 5 раз

Re: First post on every page for phpBB3

Сообщение Sergiocharm »

я уж подумал что я деревянный и что у меня не получится установить этот мод. Но как оказалось не все так плохо. Помучился правда со стилем. Нигде ж не написано что post_editor.html надо редактировать (в инструкции укажите), пока пол темы не перечитал не догадался почему не выводится чек.
tarasus
phpBB 1.0.0
Сообщения: 2
Стаж: 11 лет 2 месяца
Откуда: N-Novgorod

Re: First post on every page for phpBB3

Сообщение tarasus »

Доброго дня.
Куда-то делось прошлое сообщение (может я что нарушил, и его удалили? Покорнейше прошу прощения), но повторюсь.

Sergiocharm , подскажи, пожалуйста, что ты конкретно правил в том файле? Ибо я тоже почему-то никак не могу поставить этот мод. В phpbb я - человек новый, и могу что-то сделать не так.
Фак по установке модов читал. Инструкцию в xml читал. Вопрос один остался - xml куда-то импортировать нужно или нет? Что-то нигде не увидел...
Сильно не пинайте :)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение rxu »

Sergiocharm писал(а):Нигде ж не написано что post_editor.html надо редактировать (в инструкции укажите)
Additional MODX files - там две ссылки для двух стилей, видно?

Добавлено спустя 1 минуту 49 секунд:
tarasus
Как устанавливать моды.
Изображение
tarasus
phpBB 1.0.0
Сообщения: 2
Стаж: 11 лет 2 месяца
Откуда: N-Novgorod

Re: First post on every page for phpBB3

Сообщение tarasus »

rxu, спасибо. Читал и делал в строгом соответствии.
Нашёл причину - я просто в силу неведения не знал, где искать новую опцию. Ещё раз перечитал всю ветку, увидел косвенную информацию, нашёл.
Благодарю.
Аватара пользователя
domovoy
phpBB 1.2.0
Сообщения: 11
Стаж: 13 лет 4 месяца
Благодарил (а): 5 раз
Поблагодарили: 4 раза

Re: First post on every page for phpBB3

Сообщение domovoy »

У меня возникла необходимость иметь возможность закрепить любое сообщение темы в верху каждой страницы, собственно в связи с чем и родился этот небольшой плагин к Вашему модулю.
change_post_position_0_0_1_Domovoy.zip
Плагин позволяет установить любое сообщение первым в топике
(139.21 КБ) 301 скачивание
Плагин добавляет функциональную кнопку в разделе модерирования сообщения и соответствующее право в глобальные модераторские права.
После обработки в сообщении изменяется дата и устанавливается признак "Размещать вверху каждой страницы". Если убрать связку с модулем "Размещать вверху каждой страницы", то этот плагин можно использовать, как самостоятельный модуль.
Прошу прощения, если не правильно запостил.
Сильно прошу не пинать, обоснованная критика приветствуется.
dima2
phpBB 1.2.0
Сообщения: 10
Стаж: 11 лет 3 месяца
Благодарил (а): 2 раза

Re: First post on every page for phpBB3

Сообщение dima2 »

У меня версия 3.0.11, В posting.php не могу найти строку
// If the post need approval we will wait a lot longer.
помогите пожалуйста.
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 3 месяца
Благодарил (а): 42 раза
Поблагодарили: 251 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение c61 »

dima2 писал(а):не могу найти строку // If the post need approval we will wait a lot longer.
Этой строки в phpBB 3.0.11 нет. Вот ссылка First post on every page for phpBB3 на пост с версией мода 1.2.2_1, она актуальна.

P.S. Давно пора обновить первый пост этой темы...
Закрыто

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