Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
Татьяна5 писал(а): ↑29.10.2017 14:34(и передать этот объект в расширение)
Задать в качестве одного из параметров функции constructor в перехватчике.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы Мини FAQ Если ничто другое не помогает, прочтите, наконец, инструкцию! "Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения". Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Добавил ваш код в конец core.viewforum_get_topic_ids_data
При обращении выдаёт ошибку
Страница недоступна
Сайт epagneulbreton-mooir.ru пока не может обработать этот запрос.
HTTP ERROR 500
Отправлено спустя 2 минуты 59 секунд:
Где искать перехватчик? Я так понимаю это функция, срабатывающая при наступлении события?
pantheonptz писал(а): ↑29.10.2017 15:53в конец core.viewforum_get_topic_ids_data
В конец - это куда? Файлы движка не правят. Совсем.
Надо обращаться к этому событию из вашего расширения, а именно из файла listener.php в нём (этот файл тут назвали перехватчиком, но если точно - называется "слушатель")
Отправлено спустя 7 минут 27 секунд:
Кстати, если заготовки расширения всё-таки нет - её проще всего создать через STK
Ты его как не назови, все равно он перехватчик, ибо он перехватывает выполнение сценария и вмешивается в его исполнение. И файл можно обозвать как угодно. Хоть listener.php, хоть main_listener.php
Общие ошибки новичков (07.11.2005) & Как задавать вопросы Мини FAQ Если ничто другое не помогает, прочтите, наконец, инструкцию! "Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения". Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы Мини FAQ Если ничто другое не помогает, прочтите, наконец, инструкцию! "Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения". Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Кучи файлов не надо, достаточно 3 штук (из которых 2 конфигурационные). Тонн текста тоже для такой мелочи не надо, достаточно пройти по ссылке (первой, что дала) и вникнуть в то, что там написано
А заготовку расширения, уже писала, можно сгенерировать через STK
Последний раз редактировалось Татьяна5 29.10.2017 17:29, всего редактировалось 1 раз.
Ну можно тупо в коде изменить SQL-запрос, нафиг там какие-то события, слушатели, перехватчики. Сваяем модик. Потом еще один.
Только все эти ваши эм.... потуги бесполезны, ибо даже если темы не будет в списке, то ее можно открыть по прямой ссылке. Значит и viewtopic.php править надо будет.
Отправлено спустя 52 секунды:
rxu писал(а): ↑29.10.2017 17:29Но к поддержке phpBB это не относится.
И поддержки потом тоже не будет.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы Мини FAQ Если ничто другое не помогает, прочтите, наконец, инструкцию! "Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения". Циркуляр Морского технического комитета №15 от 29.11.1910 г.
<?php
class listener implements EventSubscriberInterface
{
/**
* Constructor
*
* @param \phpbb\config\config $config Config object
*/
public function __construct( \phpbb\user $user )
{
$this->user = $user;
}
static public function getSubscribedEvents()
{
if (!$this->user->data['is_registered'])
{
$sql_ary = $event['sql_ary'];
$sql_ary['WHERE'] .= ' AND t.topic_id <> 49';
$event['sql_ary'] = $sql_ary;
}
}
}
/>
Это уже ближе к теме вопроса? Или я опять туплю?
Отправлено спустя 3 минуты 5 секунд: Sheer, То что можно по прямой ссылке это ничего страшного. Главное, чтобы она не отображалась на выводе у гостей. а то что она будет в поиске и тд - это всё не важно. нужно только убать её из вывода для гостей.
pantheonptz, в getSubscribedEvents надо "подписаться" на событие движка и назначить на него какую-нибудь функцию (по факту - одна строчка), а саму функцию с этим кодом разместить ниже
pantheonptz, Третий раз вам говорят, установите [3.1][3.2] [dev] STK for phpBB 3.1.x & 3.2.x и создайте там болванку расширения. Далее вам нужно будет отредактировать servicies\config.yml и event\listener.php
и не парьтесь.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы Мини FAQ Если ничто другое не помогает, прочтите, наконец, инструкцию! "Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения". Циркуляр Морского технического комитета №15 от 29.11.1910 г.