Question

J'ai lu Ajouter une nouvelle page personnalisée phpbb guider plusieurs fois, mais toujours ne peuvent pas obtenir ce travail.

Je suis en train d'intégrer ce calendrier avec phpBB3. Je veux que le code civil pour avoir accès à des variables de phpBB, il ne permettra aux utilisateurs enregistrés ajouter de nouveaux événements.

Le guide phpBB ci-dessus recommande la création d'une courte page de PHP, qui met en place la session phpBB et appelle un modèle HTML statique, qui utilise côté serveur (SSI) pour tirer les en-têtes de phpBB, etc. Mais ma page calendrier n'est pas juste HTML statique, il comprend également le code PHP. Je ne peux pas obtenir la sortie PHP du calendrier pour afficher la page inbetween l'en-tête et pied de page phpBB. Le HTML du calendrier apparaît correctement, mais pas PHP est exécuté. Il semble que la méthode recommandée ne permet tout simplement pas de code PHP à exécuter dans le modèle.

Pour résumer: j'ai suivi le guide ci-dessus, mais remplacé « aboutus_body.html » avec mon « calendar.php ». Au lieu de voir le calendrier correctement affiché, avec en-tête et pied de page phpBB, je ne voyais que les parties HTML de calendar.php affichées avec en-tête et pied de page phpBB. Pas de sortie de PHP calendrier était visible.

Était-ce utile?

La solution

D'accord, je l'ai compris la bonne façon de le faire maintenant:

Après avoir suivi le tutoriel à: http://wiki.phpbb.com/Practical.Add_custom_page

Copier tout le code de calendrier dans aboutus.php (dans le didacticiel, le fichier php où la session phpBB est mis en place, et l'URL par laquelle la page sera accessible), avant la template- $> set_filenames ligne

Mais la clé est: au lieu de produire le code HTML avec « print » ou « echo », enregistrez le code HTML dans une variable, par exemple calendar_html $

Ensuite, lorsque vous avez terminé la construction de la page, utilisez ce code avant la template- $> set_filenames ligne:

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

Ensuite, dans le modèle (aboutus_body.html dans le tutoriel), chargez la variable comme ceci:

{CALENDAR_HTML}

... à la place du contenu HTML.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top