Страница 1 из 1

Добавление пункта меню "Новые темы"

СообщениеДобавлено: 21 янв 2014, 09:06
elhouse
В меню форума добавлен новый пункт меню поиска новых тем (созданных с момента последнего посещения) "Новые темы".
Автор идеи Nekstati.

Код: Выделить всё
------ открыть
search.php
------ найти
         case 'unanswered':
------ добавить перед

         case 'new_topics':
            $l_search_title = $user->lang['SEARCH_NEW_TOPICS'];
            // force sorting
            $show_results = 'topics';
            $sort_key = 't';
            $sort_dir = 'd';
            $sort_by_sql['t'] = 't.topic_time';
            $sql_sort = 'ORDER BY ' . $sort_by_sql[$sort_key] . (($sort_dir == 'a') ? ' ASC' : ' DESC');

            gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir, $u_sort_param);
            $s_sort_key = $s_sort_dir = $u_sort_param = $s_limit_days = '';
   
            $sql = 'SELECT t.topic_id
               FROM ' . TOPICS_TABLE . ' t
               WHERE t.topic_time > ' . $user->data['user_lastvisit'] . '
                  AND t.topic_moved_id = 0
                  ' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . '
                  ' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : '') . "
               $sql_sort";
            $field = 'topic_id';
         break;
         
         


------ открыть   
language/ru/common.php
------ найти
   'SEARCH_NEW'            => 'Новые сообщения',
------ добавить после
   'SEARCH_NEW_TOPICS'         => 'Новые темы',
------ и аналогично для language/en/common.php


Теперь можно видеть список новых тем по ссылке search.php?search_id=new_topics.

Добавление этой ссылки на главную страницу:
Код: Выделить всё
------ открыть
includes/functions.php
------ найти
      'U_SEARCH_NEW'         => append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=newposts'),
------ добавить после
      'U_SEARCH_NEW_TOPICS'   => append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=new_topics'),

      
------ открыть
index_body.html
------ найти (часть строки)
<a href="{U_SEARCH_NEW}">{L_SEARCH_NEW}</a>
------ заменить на
<a href="{U_SEARCH_NEW}">{L_SEARCH_NEW}</a> &bull; <a href="{U_SEARCH_NEW_TOPICS}">{L_SEARCH_NEW_TOPICS}</a>

Выглядит это так:
Новые сообщения • Новые темы • Активные темы


У кого установлен мод ссылок в виде выпадающего меню, добавьте в overall_header.html пункт:
Код: Выделить всё
<a href="{U_SEARCH_NEW_TOPICS}" style="background-image: url({T_THEME_PATH}/images/icon_bookmark.gif)">{L_SEARCH_NEW_TOPICS}</a>


Выглядит так:

Re: Добавление пункта меню "Новые темы"

СообщениеДобавлено: 21 янв 2014, 10:21
electrohoz
Удобненько.

Re: Добавление пункта меню "Новые темы"

СообщениеДобавлено: 24 окт 2014, 09:02
elhouse
На выпадающих меню "Активные темы" и "Вход" сделал стрелочки на CSS. Нечто похожее на Гуру.