Великое дело! Поможет многим справится на первых порах.Sheer писал(а):Погодьте, вот сочиню статью Создание произвольной страницы в стиле конференции phpBB 3.1
Надо, но свой.Sheer писал(а):и править его не надо.
Великое дело! Поможет многим справится на первых порах.Sheer писал(а):Погодьте, вот сочиню статью Создание произвольной страницы в стиле конференции phpBB 3.1
Надо, но свой.Sheer писал(а):и править его не надо.
Должно же оно быть задокументировано где-то? Еще вот такие переменные в моем коде тоже не определены:Sheer писал(а):$phpEx нужно передавать в списке аргументов в конструкторе как $php_ext, затем объявить ее там
Откуда их можно подцепить?Undefined variable: forum_id
Undefined variable: topic_id
Undefined variable: u_sort_param
Undefined variable: start
Пока все сильно размазано и даже на areа51 толком ничего нет.seodirection писал(а):Должно же оно быть задокументировано где-то?
надо передать в функцию.seodirection писал(а):Откуда их можно подцепить?
Код: Выделить всё
global $forum_id, $template, $topic_id, $phpEx, $u_sort_param, $start;
Код: Выделить всё
if (viewtopic) { одно значение }
if (viewforum) { другое значение }
Оперативной памяти не хватит, если везде глобальные добавлять. Или хватит, но форум начнёт жутко тормозить.seodirection писал(а):Добавил глобальные переменные
core.page_header_after
- не подходит, из него код будет работать везде, а этого не надоviewtopic.php
Далее смотрим какие переменные нужны в коде. ЭтоAnvar писал(а):core.viewtopic_get_post_data
core.viewtopic_modify_post_data
core.viewtopic_modify_page_title
forum_id
, topic_id
, u_sort_param
, start
. Ищем среди 3-х событий то, где все эти переменные есть.core.viewtopic_get_post_data
. Переменные forum_id
, topic_id
, start
там есть, а u_sort_param
можно попробовать получить через sort_days
, sort_dir
, sort_key
(или, как вариант, объявить только её глобальной и посмотреть как это будет работать)Код: Выделить всё
$forum_id = $event['forum_id'];
$topic_id = $event['topic_id'];
$start = $event['start'];
Код: Выделить всё
public function my_event($event) {
global $phpbb_container;
$context = $phpbb_container->get('template_context');
$rootref = &$context->get_root_ref();
$tpldata = &$context->get_data_ref();
// Выполнен вход ?
if ( $rootref["S_USER_LOGGED_IN"] ) {
// Есть viewtopic ?
if (isset($tpldata['postrow'])) {
foreach ($tpldata['postrow'] as $index => &$postrow) {
// что-то сделать, например, добавить пару слов в сообщение
$postrow['MESSAGE'] .= '<br /><br />Hello, '.$rootref["S_USERNAME"].' !';
}
}
}
}
Код: Выделить всё
'core.page_footer_after' => 'my_event',
core.viewforum_get_topic_data
- работает.core.display_forums_modify_category_template_vars
- не получается.viewtopic.php?t=697
(такие страницы по-умолчанию назначает phpBB с версии 3.1) на viewtopic.php?f=7&t=697
(ранее такие страницы назначались каноническими модом Canonical URL т.к. в движке ветки 3.0 rel="canonical" не было). До тех пор, пока в адресной строке url топика содержит параметр f
на мой взгляд целесообразнее считать каноническими страницы именно с f, иначе все внешние ссылки, будут вести на неканонические страницы.includes\acp\info\acp_logs.php
, чтобы добавить ещё один тип логов?Код: Выделить всё
<!-- IF S_INDEX or S_VIEWFORUM -->
Код: Выделить всё
<!-- IF S_INDEX or SCRIPT_NAME == "viewforum" -->