Заголовки сообщений (ответов) в темах форума

Что поменялось, добавилось, допилилось и отвалилось
Canonical Link
Аватара пользователя

Автор темы
aeplug
Санта
Санта
Сообщения: 2802
Зарегистрирован: 18 мар 2016 23:20
Откуда: С Ютуба
Благодарил (а): 18 раз
Поблагодарили: 274 раза

Заголовки сообщений (ответов) в темах форума

Сообщение aeplug » 02 апр 2016 21:54

Особенностью некоторых форумов является наличие заголовков у сообщений, которыми никто не пользуется. Как результат в поиске часто оказываются сообщения совершенно не нужные для искателя, но содержащие ключевые слова в заголовке, скопированные из названия темы с Re:
Думаю удалить их совсем или нет? В интернете толком не ясно, есть как ярые защитники, так и противники.
Надо редактировать заголовки, которые формируются для форм ответов. Я использовал методы для удаления частички Re: из этих инструкций:
Для исходного кода нашел такой метод для отдельной странички ответа
phpBB • Knowledge Base > Remove RE: from replies
https://www.phpbb.com/support/docs/en/3 ... m-replies/
А для формы быстрого ответа нужно похимичить таким же образом в файле viewtopic.php
phpBB • How to remove "Re:" title on each answer post ?
https://www.phpbb.com/community/viewtop ... &t=2118350

Но если стоит расширение QuickReply Reloaded, то оно делает все по другому. В файле

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

ext/boardtools/quickreply/event/listener.php

сделал так

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

//         $this->template->assign_var('SUBJECT', $this->request->variable('subject', $add_re . censor_text($topic_data['topic_title']), true));
         $this->template->assign_var('SUBJECT', '');


Пока все новые сообщения ответов будут без названия и автор должен сам набрать текст, если сочтет это нужным. Может думаю зачистить заголовки для уже существующих сообщений, которые "Ре" через команду запроса для базы данных

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

UPDATE phpbb_posts SET post_subject = '' WHERE post_subject LIKE 'Re: %'

Пока не проверял ее работу :!: и не делал


Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах


Аватара пользователя

Автор темы
aeplug
Санта
Санта
Сообщения: 2802
Зарегистрирован: 18 мар 2016 23:20
Откуда: С Ютуба
Благодарил (а): 18 раз
Поблагодарили: 274 раза

Сообщение aeplug » 06 апр 2016 00:11

Оказывается, надо еще и в "Форумных ролях" поставить "Может изменять заголовок сообщения". Кто их вообще придумал и зачем они, если их даже менять люди не могут?

А еще в файле posting.php оказывается есть еще один вариант формы с Re: и полным заголовком сразу после логина. Добавил стирание заголовка темы в форме ответа после логина (кнопка ответить-логин-форма ответа).

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

$post_data['post_subject'] = "";

строка 1617
Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах

Аватара пользователя

Автор темы
aeplug
Санта
Санта
Сообщения: 2802
Зарегистрирован: 18 мар 2016 23:20
Откуда: С Ютуба
Благодарил (а): 18 раз
Поблагодарили: 274 раза

Last Post Avatar - Аватары пользователей

Сообщение aeplug » 23 апр 2016 17:59

Last Post Avatar not fixed.jpg
Last Post Avatar not fixed.jpg (10.94 КБ) 8501 просмотр
Last Post Avatar not fixed.jpg
Last Post Avatar not fixed.jpg (10.94 КБ) 8501 просмотр

Оказывается пустой заголовок и здесь подгадить успел! :ninja:
Картинки выводятся по евенту

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

<!-- EVENT forumlist_body_last_post_title_prepend -->

который конечно же не работает, если тема сообщения пустая! Ведь разработчики не удосужились подставить сюда заголовок темы, что само собой напрашивается.
Поэтому пришлось в стиле Prosilver в файле styles/prosilver/template/forumlist_body.html добавить новое событие forumlist_body_last_post_title_prepend2

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

                  <!-- EVENT forumlist_body_last_post_title_prepend2 -->
                  <!-- IF forumrow.S_DISPLAY_SUBJECT -->
                     <!-- EVENT forumlist_body_last_post_title_prepend -->

И переименовать файл расширения соответственно!
Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах

Аватара пользователя

Автор темы
aeplug
Санта
Санта
Сообщения: 2802
Зарегистрирован: 18 мар 2016 23:20
Откуда: С Ютуба
Благодарил (а): 18 раз
Поблагодарили: 274 раза

Сообщение aeplug » 07 май 2016 00:07

Нет заголовка.jpg
Нет заголовка.jpg (15.65 КБ) 8488 просмотров
Нет заголовка.jpg
Нет заголовка.jpg (15.65 КБ) 8488 просмотров

Как видно на картинке выше, при удалении заголовка сообщения в списке форумов вообще ничего не пишется в столбце "Последнего сообщения". Хотя по идее должно быть написано хотя бы название темы, откуда это сообщение берется. И вот я решил что-то с этим сделать! :grin:
В файле functions_posting.php нашел функцию с похожими параметрами. И на ее основе сделал такой код, определяющий по номеру поста название его темы:

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

            $sql2 = 'SELECT p.post_id, p.post_subject, t.topic_title
               FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . " t
                WHERE p.post_id = {$row['forum_last_post_id']}
               AND p.topic_id = t.topic_id";
            $result2 = $db->sql_query($sql2);
            while ($row2 = $db->sql_fetchrow($result2))
            {
               $last_post_subject = ($row2['post_subject'] AND ($row2['post_subject'] <> $row2['topic_title'])) ? ($row2['post_subject'] .' - '. $row2['topic_title']) : $row2['topic_title'];
            }
            $db->sql_freeresult($result2);

Этим блоком надо заменить стандартную строчку формирования текста заголовка в файле functions_display.php (строка 541 для версии PHPBB 3.1.8)

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

            $last_post_subject = censor_text($row['forum_last_post_subject']);

Оригинальную функцию из файла functions_posting.php можно посмотреть тут:
Оригинальная функция.jpg
Оригинальная функция.jpg (162.14 КБ) 8490 просмотров
Оригинальная функция.jpg
Оригинальная функция.jpg (162.14 КБ) 8490 просмотров

Смена типа сообщения в колонке "Последнее сообщение"

Для себя я немного переделал поведение. Вместо выбора между названием темы или названием сообщения, я объединил их в одну строку вида "сообщение - тема". Так что теперь можно узнать всю информацию, наведя мышь на ссылку.
Вложения
Полное название.jpg
Полное название.jpg (16.2 КБ) 8487 просмотров
Полное название.jpg
Полное название.jpg (16.2 КБ) 8487 просмотров
Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах


Вернуться в «Лог изменений форума (ChangeLog)»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей