Seite 1 von 1

[Lösung] PHP Include in Templates Dateien

Verfasst: 23.07.2003 17:20
von Guido
Hallo
Nachdem ich immer öfters angemailt wurde wie das mit dem php include auf meiner Seite funkt biete ich hier mal die Lösung, da die Seite wo ich es her habe wohl schon längere Zeit offline ist (www.einsle.com).

Ich betone dass ich es NUR mit Version 2.01 getestet habe, aber da läuft es ! Auf jeden Fall ein Backup der original Datei machen !

Öffne:

Code: Alles auswählen

includes/template.php
Suche: ( ca. Zeile 320)

Code: Alles auswählen

$code_lines[$i] = chop($code_lines[$i]);
Füge danach ein:

Code: Alles auswählen

if (preg_match('/<\?php/', $code_lines[$i]))
			{
				$code_lines[$i] = str_replace('<?php', '', $code_lines[$i]);
				while (!preg_match('/\?>/', $code_lines[$i])) {
					$i++;
				}
				if (preg_match('/\?>/', $code_lines[$i])){
					$code_lines[$i] = str_replace('?>', '', $code_lines[$i]);
				}
			}
			else {
Suche: (ca. Zeile 408)

Code: Alles auswählen

$code_lines[$i] = '$' . $retvar . '.= \'' . $code_lines[$i] . '\' . "\\n";';
Füge danach ein:

Verfasst: 23.07.2003 22:58
von Gast
Hallo,

und erstmal vielen Dank! Ich war einer von denen, die "genervt" haben! :-)


Die obige Version funktioniert bei mir leider nicht!? :-)
Ich weiß jetzt allerdings auch nicht mehr die Fehlermeldung, kann ich morgen nochmal posten wenn es interessiert. Vielleicht hängt es damit zusammen, dass ich v2.0.5 benutzte?!

Aber ich habe noch eine zweite Möglichkeit gefunden:

In der page_header.php (ca. 320 – 340) an dieser Stelle:

Code: Alles auswählen

$template->assign_vars(array(
            'SITENAME' => $board_config['sitename'],
            'USERNAME_GREETING' => $username_greeting, 
            'SITE_DESCRIPTION' => $board_config['site_desc'],
z.B. folgenses einfügen:

Code: Alles auswählen

$template->assign_vars(array(
        'MEINHEAD' => implode("",file("http://www.Domain.de/head.php")),
        'SITENAME' => $board_config['sitename'],
        'USERNAME_GREETING' => $username_greeting, 
        'SITE_DESCRIPTION' => $board_config['site_desc'],
Jetzt kann man in der overall_header.tpl mit {MEINHEAD} den eigenen head includen...

Genau das gleiche wollte ich auch mit dem Bottom machen... naja bei wollte ist es geblieben, da mir phpBB alle Variablen, die ich in meinem bottom benutzte lehrt?!

Hat dazu jemand eine Idee? Oder einen anderen Vorschlag, wie ich um ein komplettes Forum mein Layout legen kann?

meine seite sieht vereinfacht so aus:

Code: Alles auswählen

<!-- header.inc.php -->
<html>
<body>
<table>
  <tr> 
    <td colspan="3">head</td>
  </tr>
  <tr> 
    <td>linke navi</td>
    <td>
Hier soll das Forum sein!

Code: Alles auswählen

<!-- bottom.inc.php -->
    </td>
    <td>rechte navi</td>
  </tr>
  <tr> 
    <td colspan="3">bottom</td>
  </tr>
</table>
</body>
</html>
Bin Dankbar für jeden Tip!!

Gruß Alex

Verfasst: 23.07.2003 22:58
von Gast
ups der zweite smiley sollte :-( so aussehen...

Verfasst: 23.07.2003 23:04
von Guido
Anonymous hat geschrieben: Ich weiß jetzt allerdings auch nicht mehr die Fehlermeldung, kann ich morgen nochmal posten wenn es interessiert. Vielleicht hängt es damit zusammen, dass ich v2.0.5 benutzte?!

Gruß Alex
Das kann natürlich sein ?!

Verfasst: 24.07.2003 11:32
von alex.b
Hi nochmal, (ich war der gast)

habe jetzt die includes in die page_header.php und page_tail.php eingebaut. Das funzt auch soweit. jetzt habe ich nur noch das Problem,
dass ich in meiner top.inc.php eine language datei auswähle und include.
Die geladenen Variablen kann ich dann in meiner top verwenden. Bei der bottom.inc.php hat er sie allerdings alle vergessen.

Sie werden also anscheinend alle irgendwo vom phpBB geleert...
weiß jemand wo?

Gruß Alex

Verfasst: 24.07.2003 18:23
von alex.b
hi,

also... hab mich selbst verarscht...!?

habe jetzt meine includes in die page_header.php und tail.php eingebaut. das Problem war, dass ich in meiner top schon die common.php drin hatte.

Und die Variablen waren leer, weil ich als include pfad nicht den serverroot sondern die url drin hatte - kann ja nicht gehen!

Also ich hoffe, falls irgendwer mal irgendwann ähnliches vor hat hilft dieser threat ein wenig!

Gruß Alex