Frage

Ich habe den Hinzufügen einer neuen benutzerdefinierten Seite zu phpBB mehrmals gelesen, aber immer noch kann das nicht zum Laufen bringen.

Ich versuche, diesen Kalender in phpBB3 zu integrieren. Ich möchte, dass der Kalendercode Zugriff auf phpBB-Variablen hat, damit nur registrierte Benutzer neue Ereignisse hinzufügen können.

In der obigen phpBB-Anleitung wird empfohlen, eine kurze PHP-Seite zu erstellen, die die phpBB-Sitzung einrichtet und dann eine statische HTML-Vorlage aufruft, die Server Side Includes (SSI) zum Abrufen von phpBB-Headern usw. verwendet. Meine Kalenderseite jedoch nicht Nur statisches HTML, es enthält auch PHP-Code. Ich kann die PHP-Ausgabe der Kalenderseite nicht zwischen der Kopf- und Fußzeile der phpBB anzeigen lassen. Der HTML-Code des Kalenders wird korrekt angezeigt, es wird jedoch kein PHP ausgeführt. Es scheint, dass die empfohlene Methode die Ausführung von PHP-Code in der Vorlage einfach nicht zulässt.

Zusammenfassend: Ich habe die obige Anleitung befolgt, aber 'aboutus_body.html' durch meine 'calendar.php' ersetzt. Anstatt den Kalender mit der Kopf- und Fußzeile von phpBB korrekt anzuzeigen, wurden nur die HTML-Teile von calendar.php mit der Kopf- und Fußzeile von phpBB angezeigt. Es war keine Kalender-PHP-Ausgabe sichtbar.

War es hilfreich?

Lösung

Okay, ich habe jetzt den richtigen Weg verstanden:

Folgen Sie dem Tutorial unter: http://wiki.phpbb.com/Practical.Add_custom_page

Kopieren Sie den gesamten Kalendercode in aboutus.php (im Lernprogramm die PHP-Datei, in der die PHPBB-Sitzung eingerichtet ist, und die URL, über die auf die Seite zugegriffen wird), vor den $ template-> set_filenamesZeile

Aber der Schlüssel ist: Anstatt den HTML-Code mit 'print' oder 'echo' auszugeben, speichern Sie den gesamten HTML-Code in einer Variablen, z.$ calendar_html

Wenn Sie mit dem Erstellen der Seite fertig sind, verwenden Sie diesen Code vor der Zeile $ template-> set_filenames:

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

Laden Sie dann in der Vorlage (aboutus_body.html im Tutorial) die Variable wie folgt:

{CALENDAR_HTML}

... anstelle des HTML-Inhalts.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top