Как мне интегрировать страницу PHP с phpBB3?
-
27-10-2019 - |
Вопрос
Я несколько раз читал руководство Добавить новую настраиваемую страницу в phpBB , но все же не могу заставить это работать.
Я пытаюсь интегрировать этот календарь с phpBB3. Я хочу, чтобы код календаря имел доступ к переменным phpBB, чтобы только зарегистрированные пользователи могли добавлять новые события.
В приведенном выше руководстве по phpBB рекомендуется создать короткую страницу PHP, которая устанавливает сеанс phpBB, а затем вызывает статический шаблон HTML, который использует включения на стороне сервера (SSI) для извлечения заголовков phpBB и т. д. Но моя страница календаря не просто статический HTML, он также включает код PHP. Я не могу заставить вывод PHP страницы календаря отображаться между заголовком и нижним колонтитулом phpBB. HTML-код календаря отображается правильно, но PHP не выполняется. Похоже, что рекомендованный метод просто не позволяет выполнять PHP-код в шаблоне.
Подводя итог: я выполнил приведенное выше руководство, но заменил aboutus_body.html на свой Calendar.php. Вместо того, чтобы видеть, что календарь отображается правильно с заголовком и нижним колонтитулом phpBB, я видел только HTML-части файла calendar.php, отображаемые с верхним и нижним колонтитулами phpBB. Не было видно вывода календаря PHP.
Решение
Хорошо, я понял, как это сделать правильно:
После изучения руководства по адресу: 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:
родовое словоЗатем в шаблоне (aboutus_body.html в руководстве) загрузите переменную следующим образом:
родовое слово... вместо содержимого HTML.