Seite 1 von 2

neue seiten einfügen !! hilfääää

Verfasst: 09.10.2003 09:26
von DeDonatis
hi !

ich hab folgenden text:

Code: Alles auswählen

<?php 
define('IN_PHPBB', true); 

$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 

include($phpbb_root_path . 'includes/page_header.'.$phpEx); 
?> 

HTML Stuff here 

<? 
include($phpbb_root_path . 'includes/page_tail.'.$phpEx); 
?>
mit diesem kann ich ja neue seiten ins forum einfügen mit dem style des forums. das funzt auch. WENN DIE DATEIN AUF ROOT LIEGEN.

wenn ich aber nen unterverzeichnis hab, kommen nur fehler.

ich denke, es liegt an dem hier: $phpbb_root_path = './';
aber egal was ich da eingebe, es funzt net.
mal kommt "hacking attempt" oder nen fehler in der "page_header.php"

kann mir jemand helfen ? bitte !

Verfasst: 09.10.2003 11:39
von Mungo
Ich ändere mal den Code von Acid ab (http://www.phpbb.de/viewtopic.php?t=15330):

Das Blaue wenn nötig abändern. Das Rote sind Kommentare und dürfen nicht mit übernommen werden.

Als erstes legst du deine neue Datei an: z.B. impressum.php

Mit Template Datei (impressum_body.tpl):
<?php
define('IN_PHPBB', true);

$phpbb_root_path = '../'; // <-- Rootpfad, wenn die Datei in einem Verzeichnis liegt
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_IMPRESSUM);
init_userprefs($userdata);

include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
'body' => 'impressum_body.tpl')
);

$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Ohne Templatedatei:
<?php
define('IN_PHPBB', true);

$phpbb_root_path = '../'; // <-- Rootpfad, wenn die Datei in einem Verzeichnis liegt
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_IMPRESSUM);
init_userprefs($userdata);

include($phpbb_root_path . 'includes/page_header.'.$phpEx);
?>
Hier kommt deine HTML-Seite hin.
<?php
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Anpassen der constants.php:
(Falls schon mehrere Seiten eingebaut sind, dann hinter den letzten Eintrag und die Nummer fortsetzen.)
#
#-----[ DATEI ÖFFNEN: ]------------------------------------------
# includes/constants.php

[FINDE:]
define('PAGE_GROUPCP', -11);

[ADD_AFTER:]
define('PAGE_IMPRESSUM', -12);
Anpassen der viewonline.php:
(Sollte schon mehrere Seiten eingefügt sein, dann am Ende der Liste vor dem "default:" einfügen.)
#
#-----[ DATEI ÖFFNEN: ]------------------------------------------
# viewonline.php

[FINDE:]
case PAGE_FAQ:
$location = $lang['Viewing_FAQ'];
$location_url = "faq.$phpEx";
break;

[DANACH EINFÜGEN:]
case PAGE_IMPRESSUM:
$location = $lang['Impressum'];
$location_url = "impressum/impressum.$phpEx";
break;
Anpassen der lang_main.php (Für jede Sprache)
#
#-----[ DATEI ÖFFNEN: ]------------------------------------------
# language/lang_xxx/lang_main.php

[FINDE:]
//
// That's all Folks!
// -------------------------------------------------

[DAVOR! EINFÜGEN:]
$lang['Impressum'] = "Impressum";
Anpassen der page_header.php:
#
#-----[ DATEI ÖFFNEN: ]------------------------------------------
# includes/page_header.php

[FINDE:]
'U_GROUP_CP' => append_sid('groupcp.'.$phpEx),

[DANACH EINFÜGEN:]
'U_IMPRESSUM' => append_sid('impressum/impressum.'.$phpEx),
'L_IMPRESSUM' => $lang['Impressum'],
So nun noch die overall_header.tpl anpassen:
(Solltest du mehrere Style installiert haben, dann musst du folgende Änderungen in jeder overall_header.tpl vornehmen.)
#
#-----[ DATEI ÖFFNEN: ]------------------------------------------
# templates/xxx/overall_header.tpl

[FINDE:]
&nbsp; &nbsp;<a href="{U_GROUP_CP}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_groups.gif" width="12" height="13" border="0" alt="{L_USERGROUPS}" hspace="3" />{L_USERGROUPS}</a>&nbsp;

[DANACH EINFÜGEN:] Notiz: "subSilver" mit eventuell anderem Template ersetzen
&nbsp;<a href="{U_IMPRESSUM}" class="mainmenu"><img src="templates/subSilver/images/impressum.gif" width="12" height="13" border="0" alt="{L_IMPRESSUM}" hspace="3" />{L_IMPRESSUM}</a>&nbsp;
WICHTIG:

Da die overall_header.tpl bzw. die overall_footer.tpl jetzt die Bilder in

Code: Alles auswählen

impressum/templates/subSilver/images/
suchen würde, muss man ihr den richtigen Pfad mit einem kleinen "Trick" beibringen. (subSilver mit deinem Style ersetzen).

Dazu musst du die page_header.php nochmal öffnen:
#
#-----[ DATEI ÖFFNEN: ]------------------------------------------
# includes/page_header.php

[FINDE:]
'L_IMPRESSUM' => $lang['Impressum'],
bzw. das Ende der Liste

[DANACH EINFÜGEN:]
'ROOT_PATH' => $phpbb_root_path,
So jetzt musst du in der overall_header.tpl vor jedem Link bzw. Pfadangabe ein {ROOT_PATH} einfügen. Hier ein Beispiel:
vorher:
&nbsp;<a href="{U_IMPRESSUM}" class="mainmenu"><img src="templates/subSilver/images/impressum.gif" width="12" height="13" border="0" alt="{L_IMPRESSUM}" hspace="3" />{L_IMPRESSUM}</a>
danach:
&nbsp;<a href="{ROOT_PATH}{U_IMPRESSUM}" class="mainmenu"><img src="{ROOT_PATH}templates/subSilver/images/impressum.gif" width="12" height="13" border="0" alt="{L_IMPRESSUM}" hspace="3" />{L_IMPRESSUM}</a>
Achte darauf wirklich jeden Pfad und Link zu ändern!! (Nicht nur die Navigationslinks!!)

Die page_tail.php muss jetzt auch noch angepasst werden:
#
#-----[ DATEI ÖFFNEN: ]------------------------------------------
# includes/page_header.php

[Finde:]
$admin_link = ( $userdata['user_level'] == ADMIN ) ? '<a href="admin/index.' . $phpEx . '?sid=' . $userdata['session_id'] . '">' . $lang['Admin_panel'] . '</a><br /><br />' : '';

[DANACH EINFÜGEN:]
$admin_link = ( $userdata['user_level'] == ADMIN ) ? '<a href="'.$phpbb_root_path.'admin/index.' . $phpEx . '?sid=' . $userdata['session_id'] . '">' . $lang['Admin_panel'] . '</a><br /><br />' : '';
Solltest du noch irgendwelche Links oder Bilder in der overall_footer.tpl haben, dann musst du noch folgendes machen:
#
#-----[ DATEI ÖFFNEN: ]------------------------------------------
# includes/page_tail.php

[FINDE:]
'ADMIN_LINK' => $admin_link)

[UND ERSETZE MIT:]
'ADMIN_LINK' => $admin_link,
'ROOT_PATH' => $phpbb_root_path)
Jetzt noch wie in der overall_header.tpl alle Links und Pfadangaben anpassen. Auch hier wieder wichtig: Wirklich alle!!

So ich hoffe ich hab jetzt nichts vergessen....Hoffe auch, dass es funktioniert. Vielleicht hat ja noch jemand anders nen Vorschlag.

Verfasst: 09.10.2003 11:49
von DeDonatis
boooaarrrrr :)

DANKE !!

is ja der hammer...

ma sehn, obs funzt...

Verfasst: 09.10.2003 12:03
von DeDonatis
funzt net...

na egaich meld mich heute abend wieder

Verfasst: 09.10.2003 12:05
von Mungo
Hast du die Schritte ab "WICHTIG:" auch ausgeführt?

Verfasst: 09.10.2003 12:18
von DeDonatis
ja. er sagt mir dann, das ein fehler in der page_header is. irgendwie kann er net auf die functions_stats zugreifen oder son mist :(

Verfasst: 09.10.2003 12:34
von Mungo
poste doch mal die genaue fehlermeldung und ein paar zeilen code aus der page_header.php wo der Fehler auftritt.

Verfasst: 22.02.2004 14:43
von Peggy
Ich habe auch eine neue Seite gebastelt, mit Template-Datei, liegt im Root-Pfad:

aboutme.php

sieht so aus:
<?php

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_ABOUTME);
init_userprefs($userdata);

$page_title = "Wer bin ich?";
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
'body' => 'aboutme_body.tpl')
);

$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
meine Ergänzung in viewonline.php:
case PAGE_ABOUTME:
$location = $lang['Viewing_Aboutme'];
$location_url = "aboutme.$phpEx";
break;
meine Ergänzung in admin/index.php (2mal!):
case PAGE_ABOUTME:
$location = $lang['Viewing_Aboutme'];
$location_url = "aboutme.$phpEx?pane=right";
break;
meine Ergänzung in der lang_main.php:
$lang['Viewing_Aboutme'] = 'Peggy-Seite';
meine Ergänzung in der constants.php:
define('PAGE_ABOUTME', -15);
meine Ergänzung in der page_header.php:
'U_ABOUTME' => append_sid('aboutme.'.$phpEx),
'L_ABOUTME' => $lang['Viewing_Aboutme'],
Und das Resultat: Nichts! :cry:
Ich habe über einen anderen Browser eine Weile auf der aboutme.php rumgehangen, aber ich habe mich als Gast sowohl in Viewonline als auch im Admin-Index immer nur im Forum-Index (Standart) rumhängen gesehen.

Die aboutme.php ist bei mir nur im Footer verlinkt, ohne Bildchen. Deshalb habe ich die Ergänzungen im overall_header bzw. _footer, die Mungo oben beschrieben hat, nicht vorgenommen.

Aber was habe ich denn falsch gemacht oder vergessen? :cry:

edit: OK, hat geklappt. Ich hatte vergessen auch die englische lang_main zu bearbeiten. :wink: Das bearbeiten der page-header.php wäre nicht nötig gewesen. :D

Verfasst: 07.09.2004 20:34
von Acid
Frage von Semmel2k abgetrennt.

Verfasst: 27.12.2004 22:09
von Peggy
Hi,

ich möchte gerne meine selbsterstellte "aboutme.php" mit der dazugehörigen "aboutme_body.tpl" mit Sprachvariablen ausstatten, also eine lang_aboutme.php anlegen.
Grund: Ich habe mittlerweile 9 Styles, bei denen die aboutme_body.tpl zum Teil anders ist. Ich möchte bei jeder Aktualisierung (was häufig vorkommt) nicht immer 9 Template-Dateien bearbeiten müssen.

Ich würde mich freuen, wenn mir jemand sagen könnte, was ich in die aboutme.php eintragen muss, damit der Text aus der lang_aboutme.php gelesen wird.

Ich mach mal nen Beispiel: :D

In der lang_aboutme.php würde stehen:
$lang['Name'] = 'Lieschen Müller';
$lang['Location'] = 'Berlin';
$lang['Life'] = 'Mein bisheriges Leben verlief so ... bla bla';
$lang['Hobby'] = 'Meine Hobbies sind Stricken, Kampfsport, etc.';
In der aboutme_body.tpl würden dann an den entsprechenden Stellen die Variablen stehen:
{NAME}
{LOCATION}
{LIFE}
{HOBBY}
In der aboutme.php müsste dann wahrscheinlich sowas hier in der Art stehen:
'L_NAME' => $lang['Name'],
'L_LOCATION' => $lang['Location'],
'L_LIFE' => $lang['Life'],
'L_HOBBY' => $lang['Hobby'],
Wie und wo genau muss ich das eintragen?
Habe ich bei der Gross-/Kleinschreibung alles richtig gemacht?