First post on every page for phpBB3

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14198
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 338 раз
Поблагодарили: 1461 раз
Контактная информация:

First post on every page for phpBB3

Сообщение rxu » 21.09.2007 11:24

В режиме создания или редактирования первого сообщения темы дает возможность закрепить первое сообщение вверху каждой страницы темы.
first_post_on_every_page_phpbb3_1.2.2.zip
(30.67 КБ) 4261 скачивание
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 раз.
Причина: Добавление ссылки на ответ о правах
Изображение

Аватара пользователя
GSC
phpBB 1.4.4
Сообщения: 116
Зарегистрирован: 21.03.2009 5:16
Контактная информация:

Re: First post on every page for phpBB3

Сообщение GSC » 14.05.2009 13:06

А как сделать как у вас? Что бы пост верхний выделялся у вас там такая штучка, как её можно сделать? заранее спасибо!

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14198
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 338 раз
Поблагодарили: 1461 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение rxu » 14.05.2009 16:04

На самом деле это глюк :mrgreen:
Но если очень надо

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

OPEN
viewtopic_body.html

FIND
<!-- END postrow -->

BEFORE, ADD
<!-- IF postrow.S_FIRST_ROW -->
   <div class="post bg2">
      <div class="inner" style="text-align: center;"><span class="corners-top"><span></span></span>
      <span class="corners-bottom"><span></span></span></div>
   </div>
<hr class="divider" />
<!-- ENDIF -->
Изображение

Аватара пользователя
GSC
phpBB 1.4.4
Сообщения: 116
Зарегистрирован: 21.03.2009 5:16
Контактная информация:

Re: First post on every page for phpBB3

Сообщение GSC » 14.05.2009 17:51

rxu
Спасибо.
Отличный глюк!

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14198
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 338 раз
Поблагодарили: 1461 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение rxu » 14.05.2009 17:51

Обновите шаблон в админразделе в закладке Стили.
GSC писал(а):или сначала удалить мануал которые тут указан
Это сами решайте, что вам оставить надо, или и то, и другое вместе.
Код выше немного исправил, замените.
Изображение

Аватара пользователя
GSC
phpBB 1.4.4
Сообщения: 116
Зарегистрирован: 21.03.2009 5:16
Контактная информация:

Re: First post on every page for phpBB3

Сообщение GSC » 14.05.2009 18:02

rxu
Ага спасибо...
Код что в первый раз давали был не корректный.

mEx
phpBB 1.4.4
Сообщения: 197
Зарегистрирован: 01.04.2007 1:39
Благодарил (а): 4 раза

Re: First post on every page for phpBB3

Сообщение mEx » 19.05.2009 23:25

Можно ли сделать, чтобы во всех темах на форуме, первый пост был на всех страницах?

Ulenka
phpBB 1.4.4
Сообщения: 118
Зарегистрирован: 18.09.2005 19:35
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Re: First post on every page for phpBB3

Сообщение Ulenka » 03.06.2009 12:43

rxu писал(а):Для установки на версию phpBB 3.0.3 :

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

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

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

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

			// Check the permissions for post approval, as well as the queue trigger where users are put on approval with a post count lower than specified. Moderators are not affected.
В версии phpBB 3.0.5 отсутствуют оба кода.
Подскажите, перед каким текстом теперь размещать код

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

			// Show/Unshow first post on every page
			if(($mode == 'edit' && $post_id == $post_data['topic_first_post_id']) || $mode == 'post')
			{
				if($mode == 'post')
				{
					$topic_id = $data['topic_id'];
				}

				$perm_show_unshow = ($auth->acl_get('m_lock', $forum_id) || ($auth->acl_get('f_user_lock', $forum_id) && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster'])) ? true : false;

				if($post_data['topic_first_post_show'] != $topic_first_post_show && $perm_show_unshow)
				{
					$sql = 'UPDATE ' . TOPICS_TABLE . '
						SET topic_first_post_show = ' . (($topic_first_post_show) ? 1 : 0) . " 
						WHERE topic_id = $topic_id";
					$db->sql_query($sql);

				}
			}


Аватара пользователя
nissin
phpBB 3.0.3
Сообщения: 2168
Зарегистрирован: 16.12.2007 14:01
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 335 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение nissin » 03.06.2009 14:12

Только что проверил, код остался:

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

			// Check the permissions for post approval, as well as the queue trigger where users are put on approval with a post count lower than specified. Moderators are not affected.
Всё повторяется. nurlan.info

OldMax
phpBB 1.4.3
Сообщения: 79
Зарегистрирован: 24.07.2008 22:59
Благодарил (а): 1 раз

Re: First post on every page for phpBB3

Сообщение OldMax » 05.07.2009 4:20

сделали бы обновление, там буковку бы приписали к версии,
что бы через автомод корректо удалялся и ставился.

и инструкцию для замены русского языка,
чтобы ручками не писать самому.

Аватара пользователя
Gorbushka
phpBB 1.4.3
Сообщения: 92
Зарегистрирован: 30.08.2007 22:46
Откуда: Россия/Москва
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Gorbushka » 17.07.2009 0:37

Какие все ленивые стали... А самому переписать инструкцию, как Вам удобно и выложить?
Сильно не баньте ;)

Аватара пользователя
Gemini_13
phpBB 1.4.2
Сообщения: 72
Зарегистрирован: 16.03.2009 15:44
Откуда: Киев
Поблагодарили: 2 раза
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Gemini_13 » 17.07.2009 13:54

Мод работает на 3.0.5, но при откладке получаю такие вот строки:
[phpBB Debug] PHP Notice: in file /viewtopic.php on line 1347: Undefined variable: postrow
[phpBB Debug] PHP Notice: in file /viewtopic.php on line 1347: Undefined offset: 1
[phpBB Debug] PHP Notice: in file /viewtopic.php on line 1347: Undefined offset: 2
Матерится на строку:

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

$post_id = $postrow[$i]['post_id'];
Эта проблема имеет место быть у всех или искать проблему в несостыковке с другими модами?
## .. ионный ускоритель на быстром мазуте.. ##

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14198
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 338 раз
Поблагодарили: 1461 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение rxu » 17.07.2009 19:12

Gemini_13 писал(а):Матерится на строку:
Ни в исходном коде, ни в данном моде такой строки не вижу.
Изображение

Аватара пользователя
Gemini_13
phpBB 1.4.2
Сообщения: 72
Зарегистрирован: 16.03.2009 15:44
Откуда: Киев
Поблагодарили: 2 раза
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Gemini_13 » 18.07.2009 1:23

rxu, прошу прощения. Тяжелое утро было вот и перекрутились в голове 2 мода :-)

Ваш мод касается этой проблемы. Несовместимость между Post numbers 1.1.0c и Вашим модом. Искал решение, потому и запутался...
Решение нашлось на phpbb.com и было дано Вами же 2,5 года назад)

Собственно само решение проблемы:

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

OPEN
viewtopic.php

FIND
   $post_number = $i + $start;
   $post_number = $post_number + 1;
   $post_id = $postrow[$i]['post_id'];

REPLACE WITH
/**/

FIND
   $poster_id = $row['user_id'];

AFTER, ADD
   $post_id = $row['post_id']; 
   if ($topic_data['topic_first_post_show'] && ($start != 0)) 
   { 
      $post_number = ($post_id == $topic_data['topic_first_post_id']) ? 1 : ($i + $start); 
   } 
   else 
   { 
      $post_number = ($i + $start + 1); 
   }
P.S. Может кому пригодится и сдесь на конференции.
## .. ионный ускоритель на быстром мазуте.. ##

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14198
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 338 раз
Поблагодарили: 1461 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение rxu » 30.07.2009 18:44

Исправление ошибки с отображением информации о редактировании сообщения при закрепленном первом сообщении.

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

OPEN
viewtopic.php

FIND
// First post on every page
// Show first post on every page if needed
if($topic_data['topic_first_post_show'] && ( $start != 0))
{
	$i = 0;
	$post_list[$i] = $topic_data['topic_first_post_id'] ;
	$i = ($store_reverse) ? $sql_limit : $i+1;
}

REPLACE WITH
// First post on every page
// Show first post on every page if needed
// For the case the user is trying to reach the first half of the topic
if ($topic_data['topic_first_post_show'] && ($start != 0))
{
	if (!$store_reverse)
	{
		$post_list[$i] = $topic_data['topic_first_post_id'];
	}
	$i++;
}

FIND
while ($row = $db->sql_fetchrow($result))
{
	$post_list[$i] = $row['post_id'];
	($store_reverse) ? $i-- : $i++;
}
$db->sql_freeresult($result);

AFTER, ADD
// First post on every page
// Show first post on every page if needed
// For the case the user is trying to reach the second half of the topic
if ($topic_data['topic_first_post_show'] && ($start != 0) && $store_reverse)
{
	$post_list[$i] = $topic_data['topic_first_post_id'];
}
Изображение

smart2008
phpBB 1.4.2
Сообщения: 59
Зарегистрирован: 06.08.2008 3:50
Поблагодарили: 6 раз

Re: First post on every page for phpBB3

Сообщение smart2008 » 02.09.2009 18:31

Добавил изменения, которые здесь были написаны:
http://www.phpbbguru.net/community/post ... ml#p252821
http://www.phpbbguru.net/community/topi ... ml#p222189

Добавил для русского языка инструкцию.
Вложения
first_post_on_every_page_phpbb3_1.2.2_1.rar
1.2.2_1
(31 КБ) 617 скачиваний

Закрыто

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