Как мне интегрировать страницу PHP с phpBB3?

#php #calendar #phpbb #server-side-includes #phpbb3

#php #Календарь #phpbb #серверная часть -включает #phpbb3

Вопрос:

Я несколько раз прочитал руководство по добавлению новой пользовательской страницы в phpBB, но все еще не могу заставить это работать.

Я пытаюсь интегрировать этот календарь с phpBB3. Я хочу, чтобы код календаря имел доступ к переменным phpBB, поэтому он позволит только зарегистрированным пользователям добавлять новые события.

В руководстве по phpBB, приведенном выше, рекомендуется создать короткую PHP-страницу, которая настраивает сеанс phpBB, а затем вызывает статический HTML-шаблон, который использует Server Side Includes (SSI) для ввода заголовков phpBB и т.д. Но моя страница календаря — это не просто статический HTML, она также включает PHP-код. Я не могу заставить вывод страницы календаря на PHP отображаться между верхним и нижним колонтитулами phpBB. HTML-код календаря отображается правильно, но PHP не выполняется. Похоже, что рекомендуемый метод просто не позволяет выполнять PHP-код в шаблоне.

Подводя итог: я следовал приведенному выше руководству, но заменил ‘aboutus_body.html «с моим»calendar.php ‘. Вместо того, чтобы видеть календарь, отображаемый правильно, с верхним и нижним колонтитулами phpBB, я видел только HTML-части calendar.php отображается с помощью верхнего и нижнего колонтитулов phpBB. Не было видно выходных данных PHP календаря.

Ответ №1:

Хорошо, теперь я понял правильный способ сделать это:

После прохождения руководства по адресу:http://wiki.phpbb.com/Practical.Add_custom_page

Скопируйте весь код календаря в aboutus.php (в руководстве указан php-файл, в котором настроен сеанс phpBB, и URL, по которому будет доступен доступ к странице), перед строкой $template->set_filenames

Но ключ в следующем: вместо вывода HTML с помощью ‘print’ или ‘echo’ сохраните весь HTML в переменной, например, $ calendar_html

Затем, когда вы закончите создание страницы, используйте этот код перед строкой $template->set_filenames:

 $template->assign_vars(array(
    'CALENDAR_HTML' => $calendar_html,
   )
);
  

Затем в шаблоне (aboutus_body.html в руководстве) загрузите переменную следующим образом:

 {CALENDAR_HTML}
  

…вместо содержимого HTML.