[3.2] Neue Seitein 3 Schritten - Frage
Verfasst: 02.01.2020 12:53
Hallöchen zusammen,
ich hoffe das ist der richtige Bereich dafür.
ich habe nach folgender Anleitung:
https://wiki.phpbb.com/Deutsch:Vorlage_ ... _PHP_Datei
eine neue Seite erstellt.
Ich möchte einen neuen Block und eigenen Inhalt erstellen.
Soweit sogut - neben "Beispiel & "Demo" habe ich nun "eigener Test" reingesezt.
Ich bekomme aber weder unter Beispiel & Demo neuen Inhalt noch in meine neue Reihe "Eigener Test"
Folgendes hab ich eingegeben:
neueseite.php:
meine_sprach_datei.php:
mein_template.html:
Was habe ich falsch gemacht, wo muss ich noch etwas ergänzen?
Ich bedanke mich schoneinmal für die Hilfe
_____________________________________________
EDIT:
man sollte auch den Cache leeren - dann klappt es auch mit der Anzeige!
Trotzdem 2 Fragen:
1. ich bekomme jetzt eine Fehlermeldung im Header: Wie werd ich die wieder los auf der Seite.
2. Ich möchte gern den Inhalt von eigenen Profilfeldern anzeigen lassen und somit eine Liste erstellen. Könnte mir jemand helfen wie ich das berwerkstelige?
ich hoffe das ist der richtige Bereich dafür.
ich habe nach folgender Anleitung:
https://wiki.phpbb.com/Deutsch:Vorlage_ ... _PHP_Datei
eine neue Seite erstellt.
Ich möchte einen neuen Block und eigenen Inhalt erstellen.
Soweit sogut - neben "Beispiel & "Demo" habe ich nun "eigener Test" reingesezt.
Ich bekomme aber weder unter Beispiel & Demo neuen Inhalt noch in meine neue Reihe "Eigener Test"
Folgendes hab ich eingegeben:
neueseite.php:
Code: Alles auswählen
<?php
/**
*
* @author Original Autor Benutzername autor_email@domain.de - http://meine-seite.de
* @author Anderer Autor Benutzername andere_email@domain.de - http://domain.de
*
* @package {PACKAGENAME}
* @version $Id$
* @copyright (c) 2007 Dein Gruppen Name
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
// Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Da wir weiter unten noch einen Avatar anzeigen lassen wollen,
// benötigen wir noch die dazu passende Funktion
// die in der Datein includes/functions_display.php vorhanden ist.
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
// Session auslesen und Benutzer-Informationen laden
$user->session_begin(); // Session auslesen
$auth->acl($user->data); // Benutzer-Informationen laden
$user->setup('mods/meine_sprach_datei'); // Sprachvariablen aus eigener Sprach Datei laden
/*
* Nun folgt erst Dein PHP Code für die neue Seite, also:
* Variablen setzen, Datenbankabfragen, Einfügen und Entfernen von Einträgen usw...
*
* Dies ist nun ein sehr primitives Beispiel.
* Es soll nur veranschaulichen wie es funktioniert.
*
*/
$example_variable = sprintf($user->lang['TIME_NOW'], $user->format_date(time()));
$google_logo = '<a href="http://www.google.com/"><img src="http://www.google.com/intl/en_ALL/images/logo.gif" alt="Google" /></a>';
// Ein typischer Gebrauch um Variablen an das Template zu senden.
$template->assign_vars(array(
'EXAMPLE_VAR' => $example_variable,
'GOOGLE_LOGO' => $google_logo,
'MY_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
'EIGENER_VAR' => $eigener_variable,
));
/*
* Nun weisen wir ein paar statische Daten einem Array zu.
* Alle Sprachvariablen werden normalerweise in der Sprach Datei zugewiesen,
* dies dient hier nur zur DEMONSTRATION.
*/
$some_array = array(
array(
'beispiel' => 'Nur ein Beispiel 1',
'demonstration' => 'Etwas zum zeigen',
'eigener' => 'und hier ein eigener Test'
),
array(
'beispiel' => 'Nur ein Beispiel 1',
'demonstration' => 'schon wieder etwas zum zeigen',
'eigener' => 'nochmal ein eigener Test'
),
);
/*
* Standard Beispiel um eine Block Variable fuer das Template zu fuellen.
* Dies wird Dir ermöglichen einen Block oder ein Array im Template darzustellen
* Dies ist nützlich um SQL Abfragen aus der Datenbank in das Template zu überführen.
*/
foreach ($some_array as $row)
{
$template->assign_block_vars('block_name', array(
'EXAMPLE' => $row['beispiel'],
'DEMO' => $row['demonstration'],
'EIGENER' => $row['eigener'],
));
}
// Seiten Titel, diese Sprach Variable sollte in der Sprach Datei,
// welche weiter oben genannt wurde, definiert sein.
page_header($user->lang['MEIN_TITEL']);
// Defniere nun den Dateinamen Deines Templates welches Du benutzen moechtest.
// Dies ist der Name von Deinem Template welches unter /styles/<style>/templates/ zu finden ist.
$template->set_filenames(array(
'body' => 'mein_template.html',
));
// Script vervollständigen und Seite anzeigen lassen.
page_footer();
?>
Code: Alles auswählen
<?php
/**
*
* groups [German]
*
* @author Mein Benutzername email@domain.de - http://meine-seite.de
*
* @package language
* @version $Id$
* @copyright (c) 2007 Deine Gruppe
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'EXAMPLE' => 'Beispiel',
'DEMO' => 'Demo',
'EIGENER' => 'Eigener Test',
'TIME_NOW' => 'Die aktuelle Zeit lautet %s',
'MEIN_TITEL' => 'Meine neuer Seiten Titel',
));
?>
Code: Alles auswählen
<!-- INCLUDE overall_header.html -->
<div>{MY_AVATAR}</div>
<div>{EXAMPLE_VAR}</div>
<div>{GOOGLE_LOGO}</div>
<div>{EIGENER_VAR}</div>
<table class="table1" cellspacing="1">
<tr>
<th>{L_EXAMPLE}</th>
<th>{L_DEMO}</th>
<th>{L_EIGENER}</th>
</tr>
<!-- BEGIN block_name -->
<tr class="<!-- IF block_name.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
<td>{block_name.EXAMPLE}</td>
<td>{block_name.DEMO}</td>
<td>{block_name.EIGENER}</td>
</tr>
<!-- END block_name -->
</table>
<!-- INCLUDE overall_footer.html -->
Ich bedanke mich schoneinmal für die Hilfe
_____________________________________________
EDIT:
man sollte auch den Cache leeren - dann klappt es auch mit der Anzeige!
Trotzdem 2 Fragen:
1. ich bekomme jetzt eine Fehlermeldung im Header:
Code: Alles auswählen
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4596: Cannot modify header information - headers already sent by (output started at [ROOT]/language/de/mods/meine_sprach_datei.php:1)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4596: Cannot modify header information - headers already sent by (output started at [ROOT]/language/de/mods/meine_sprach_datei.php:1)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4596: Cannot modify header information - headers already sent by (output started at [ROOT]/language/de/mods/meine_sprach_datei.php:1)
2. Ich möchte gern den Inhalt von eigenen Profilfeldern anzeigen lassen und somit eine Liste erstellen. Könnte mir jemand helfen wie ich das berwerkstelige?