First post on every page for phpBB3

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

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

First post on every page for phpBB3

Сообщение rxu »

В режиме создания или редактирования первого сообщения темы дает возможность закрепить первое сообщение вверху каждой страницы темы.
first_post_on_every_page_phpbb3_1.2.2.zip
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 5:43, всего редактировалось 8 раз.
Причина: Добавление ссылки на ответ о правах
Изображение
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: First post on every page for phpBB3

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

Пчелкин писал(а):Не может быть...
Установила мод на чистый форум 3.0.10 (мод работает). Выполнила инструкцию (заменила 0 на 1).
Создаю тему под обычным пользователем, 1-е сообщение не закрепляется (в теме сообщения только 1 пользователя, если это на что-то влияет).
Что я делаю не так?
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: First post on every page for phpBB3

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

SQL запрос для установки галочки для всех существующих тем.
КОД: ВЫДЕЛИТЬ ВСЁ
UPDATE phpbb_topics SET topic_first_post_show = 1

+ Очистка кэша
Вроде бы все получилось как надо. По всему форуму первые посты стоят вверху, а новые темы создаются с галочкой "первый пост всегда сверху"
А это?
Фиг его знает...у мня создаются с галкой...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: First post on every page for phpBB3

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

Пчелкин писал(а):А это?
Сделала, не помогло. Теперь галка стоит, но сообщения автоматически не закрепляются (с любого ника).

Да что же я все время упускаю...

Добавлено спустя 2 минуты 3 секунды:
На основном форуме установлено это решение. Единственный минус - не работает при создании темы обычным пользователем.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 5 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: First post on every page for phpBB3

Сообщение HAMMER663 »

Татьяна5 а если убрать условие?

Добавлено спустя 1 минуту 47 секунд:
Оставить так

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

				<div><label for="topic_first_post_show"><input type="checkbox" name="topic_first_post_show" checked="checked" id="topic_first_post_show"{S_FIRST_POST_SHOW_CHECKED} /> {L_FIRST_POST_SHOW} </label></div>
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: First post on every page for phpBB3

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

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

Re: First post on every page for phpBB3

Сообщение HAMMER663 »

Татьяна5 тогда все просто. открывай posting.php и меняй

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

	'S_FIRST_POST_SHOW_ALLOWED'		=> ($first_post_show_allowed  && ($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,
на

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

	'S_FIRST_POST_SHOW_ALLOWED'		=> ($first_post_show_allowed  && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster']))) ? true : false,
Добавлено спустя 27 секунд:
условие в шаблоне оставь
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: First post on every page for phpBB3

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

HAMMER663
Так несоответствие со скобками

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

Parse error: syntax error, unexpected ',' in Z:\home\test.zz\www\posting.php on line 1506
А вот так галочка исчезает у всех (не могу понять от чего!):

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

	'S_FIRST_POST_SHOW_ALLOWED'		=> ($first_post_show_allowed  && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster']) ? true : false,
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 5 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: First post on every page for phpBB3

Сообщение HAMMER663 »

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

	'S_FIRST_POST_SHOW_ALLOWED'		=> ($first_post_show_allowed  && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster']) ? true : false,
вот так надо
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: First post on every page for phpBB3

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

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

Re: First post on every page for phpBB3

Сообщение HAMMER663 »

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

	'S_FIRST_POST_SHOW_ALLOWED'		=> ($first_post_show_allowed  && ($auth->acl_get('m_lock', $forum_id) || ($user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster']))) ? true : false,
да. я что-то запутался)) вот так работает
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: First post on every page for phpBB3

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

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

Re: First post on every page for phpBB3

Сообщение HAMMER663 »

Татьяна5 у меня видна строка у пользователя

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

	'S_FIRST_POST_SHOW_ALLOWED'		=> ($first_post_show_allowed  && $auth->acl_get('m_lock', $forum_id) || ($user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster'])) ? true : false,
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: First post on every page for phpBB3

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

HAMMER663
ничего не понимаю... на 3-х форумах проверила - строка при создании новой темы не появляется и все тут
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 5 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: First post on every page for phpBB3

Сообщение HAMMER663 »

Татьяна5 скорее всего я туплю.. не пойму где скобки не так поставил..
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: First post on every page for phpBB3

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

HAMMER663
со скобками все верно, что-то не так с условием
В таком виде заработало:

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

'S_FIRST_POST_SHOW_ALLOWED'		=> ($first_post_show_allowed  && ($auth->acl_get('m_lock', $forum_id) || $user->data['is_registered'])) ? true : false,
В php я нуль. Можно ли такой код ставить на рабочий сайт? Это не вызовет ошибку?

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