Pregunta

He leído la guía Agregar una nueva página personalizada a phpBB varias veces, pero aún así no puedo hacer que esto funcione.

Estoy intentando integrar este calendario con phpBB3. Quiero que el código del calendario tenga acceso a las variables phpBB, por lo que solo permitirá a los usuarios registrados agregar nuevos eventos.

La guía de phpBB anterior recomienda crear una página PHP corta, que configura la sesión de phpBB y luego llama a una plantilla HTML estática, que usa Server Side Include (SSI) para extraer encabezados phpBB, etc. Pero mi página de calendario no lo es solo HTML estático, también incluye código PHP. No puedo hacer que la salida PHP de la página del calendario se muestre entre el encabezado y el pie de página de phpBB. El HTML del calendario aparece correctamente, pero no se ejecuta PHP. Parece que el método recomendado simplemente no permite que se ejecute código PHP en la plantilla.

Para resumir: seguí la guía anterior, pero reemplacé 'aboutus_body.html' con mi 'calendar.php'. En lugar de ver el calendario mostrado correctamente, con el encabezado y pie de página de phpBB, solo vi las partes HTML de calendar.php mostradas con el encabezado y pie de página de phpBB. No se veía ninguna salida PHP de calendario.

¿Fue útil?

Solución

Bien, he entendido la forma correcta de hacer esto ahora:

Después de seguir el tutorial en: http://wiki.phpbb.com/Practical.Add_custom_page

Copie todo el código del calendario en aboutus.php (en el tutorial, el archivo php donde está configurada la sesión phpBB y la URL por la que se accederá a la página), antes de $ template-> set_filenameslínea

Pero la clave es: en lugar de generar el HTML con 'print' o 'echo', guarde todo el HTML en una variable, p. ej.$ calendar_html

Luego, cuando haya terminado de crear la página, use este código antes de la línea $ template-> set_filenames:

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

Luego, en la plantilla (aboutus_body.html en el tutorial), cargue la variable así:

{CALENDAR_HTML}

... en lugar del contenido HTML.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top