• 390 Prime User Topics v1.0.0b - найти все темы юзера • 
Добавляет ссылку "Поиск тем пользователя"
При создании темы о модах для двигателя форумов phpBB ветки до версии 3.0.14 название темы должно начинаться с названия мода на английском, без указания версии, затем тире, затем короткое название мода на русском с маленькой буквы. Создание тем не о модах в данном подфоруме запрещено. Посторонние темы о двиге и посторонних проблемах для ветки до версии 3.0.14 в соседнем подфоруме.

    390 Prime User Topics v1.0.0b - найти все темы юзера

Сообщение Разместил Александр Лешванов 18 авг 2021, 07:09

От автора -
Название МОДА: Prime User Topics
Описание МОДА: Добавляет ссылку "Поиск тем пользователя" рядом со ссылкой "Поиск сообщений пользователя" на странице профиля пользователя.
MOD Version: (смотрите Инструкции по установке для текущего номера версии)
MOD Download: Не доступно
Demo Board: Не доступно
Демо-имя пользователя: Не требуется
Демо-пароль: Не требуется

Аватар пользователя
Александр Лешванов
(можно Николаич)
(можно Николаич) 
*
Google Chrome 57.0.298 Google Chrome 57.0.298
Windows XP Windows XP
Монитор: 1152 x 864 1152 x 864

  390 Prime User Topics v1.0.0b - найти все темы юзера

Сообщение Разместил Александр Лешванов 18 авг 2021, 07:16

Что бы добавить в минипрофиль строку от кода мода -
viewtopic.php
Найти
Код: выделить все
'U_JABBER'        => $user_cache[$poster_id]['jabber'],

После вставить
Код: выделить все
'U_SEARCH_TOPICS'    => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'author_id='.$poster_id.'&sr=topics&sf=firstpost') : '',

viewtopic_body.html
Найти
Код: выделить все
<!-- IF postrow.POSTER_JOINED --><br /><b>{L_JOINED}:</b><br />{postrow.POSTER_JOINED}<!-- ENDIF -->

После вставить что-то нечто такое
Код: выделить все
<br /><b><a href="{postrow.U_SEARCH_TOPICS}">{L_TOPICS}</b>

Аватар пользователя
Александр Лешванов
(можно Николаич)
(можно Николаич) 
*
Google Chrome 57.0.298 Google Chrome 57.0.298
Windows XP Windows XP

  390 Prime User Topics v1.0.0b - найти все темы юзера

Сообщение Разместил Александр Лешванов 18 авг 2021, 07:21

От Sheer урок по дедукции -

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

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

По одной капле воды человек, умеющий мыслить логически, может сделать вывод о возможности существования Атлантического океана или Ниагарского водопада, даже если он не видал ни того, ни другого и никогда о них не слыхал.
_________________________________________
Артур Конан Дойль, «Этюд в багровых тонах»
1.
Пчелкин писал(а):
Мне надо поиск тем из минипрофиля


Минипрофиль у нас формируется в файле viewtopic.php. Надеюсь это очевидно. Значит рыть надо там.

2. Поиск осуществляется скриптом search.php. Ранее мы выяснили, что если этому скрипту передать некие параметры, то он найдет все темы пользователя, а именно, например
Код: выделить все
search.php?author_id=2&sr=topics&sf=firstpost


3. За вывод минипрофиля (в частности) у нас отвечает шаблон viewtopic_body.html. Значит ссылку надо вставить туда. То есть воткнуть туда некий объект шаблона. Назовем его U_SEARCH_TOPICS. Теперь нужно сформировать этот объект. Как уже выяснили, это надо сделать в файле viewtopic.php.

4. Открываем, смотрим, где и как формируются похожие вещи, например U_NOTES
Код: выделить все
'U_NOTES'            => ($auth->acl_getf_global('m_')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $poster_id, true, $user->session_id) : '',

Ага, в массиве postrow
Значит нужно сделать по аналогии, и коли уж ссылки формируются так, то значит
Код: выделить все
append_sid("{$phpbb_root_path}search.$phpEx", 'author_id='.$poster_id.'&sr=topics&sf=firstpost')

Воткнем проверку, может ли пользователь пользоваться поиском
Код: выделить все
($auth->acl_get('u_search')) ?

И в завершение вставляем в массив postrow
Код: выделить все
'U_SEARCH_TOPICS'    => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'author_id='.$poster_id.'&sr=topics&sf=firstpost') : '',

Далее с шаблоном уже дело техники. Готово! Хотя три минуты назад, я понятия не имел, как это надо сделать, вернее готового решения не было. (Правда все же некими знаниями обладаю, поковырялся, поднахватался...)

5. Итак, это элементарно, Ватсон!

Аватар пользователя
Александр Лешванов
(можно Николаич)
(можно Николаич) 
*
Google Chrome 57.0.298 Google Chrome 57.0.298
Windows XP Windows XP

  390 Prime User Topics v1.0.0b - найти все темы юзера

Сообщение Разместил Александр Лешванов 18 авг 2021, 07:24

Ну и сам мод в единственном экземпляре (русик на борту) -

Аватар пользователя
Александр Лешванов
(можно Николаич)
(можно Николаич) 
*
Google Chrome 57.0.298 Google Chrome 57.0.298
Windows XP Windows XP

Вернуться в 450 модов движка форумов phpBB (до версии 3.0.14)



 • Блок вывода аналогичных по названию других тем нашего форума • 

HTML5 Validated Счетчик ИКС Яндекс.Метрика
cron