Neue Seite einfügen - Fehler bei Datei Suche

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Robbi der Forenfreak
Mitglied
Beiträge: 409
Registriert: 11.01.2007 17:53
Kontaktdaten:

Neue Seite einfügen - Fehler bei Datei Suche

Beitrag von Robbi der Forenfreak »

Hallo!

Ich habe nach der deutschen Anleitung von wiki.phpbb.com eine neue Seite für phpBB 3 :) erstellt. Sie ist eigentlich richtig, nur wird eine Fehlermeldung angezeigt.

rules.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);
// Session auslesen und Benutzer-Informationen laden
$user->session_begin();  // Session auslesen
$auth->acl($user->data); // Benutzer-Informationen laden
$user->setup('mods/rules.php'); // 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']),
	));
/*
* 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',
	),    array(
	        'beispiel'        => 'Nur ein Beispiel 1',
			'demonstration'    => 'schon wieder etwas zum zeigen',    
	),
);
/* 
* 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'],
     ))
;}
// 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' => 'rules.html',));
// Script vervollständigen und Seite anzeigen lassen.
page_footer();
?>
language/de/mods/rules.php

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',
	'TIME_NOW'        => 'Die aktuelle Zeit lautet %s',
	'MEIN_TITEL'    => 'Meine neuer Seiten Titel',
));
?>
styles/prosilver/template/rules.html

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->
<div>{MY_AVATAR}</div>
<div>{EXAMPLE_VAR}</div>
<div>{GOOGLE_LOGO}</div>
<table class="table1" cellspacing="1">
    <tr>        
	     <th>{L_EXAMPLE}</th>
		 <th>{L_DEMO}</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>    
	</tr>    
	<!-- END block_name -->
</table>
<!-- INCLUDE overall_footer.html -->
Vielen Dank.

Edit: Ach ja die Fehlermeldung ist, das die Sprach datei rules.php.php (kA wieso zweimal) nicht gefunden wurde
Programmierer sterben nie. Sie beenden sich mit return 0.

http://www.robinrump.com :)
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Versuchs mal mit:

Code: Alles auswählen

$user->setup('mods/rules'); // Sprachvariablen aus eigener Sprach Datei laden
kein Support per PN
Benutzeravatar
Robbi der Forenfreak
Mitglied
Beiträge: 409
Registriert: 11.01.2007 17:53
Kontaktdaten:

Beitrag von Robbi der Forenfreak »

Danke. Jetzt krieg ich allerdings folgenden Fehler:

Fatal error: Call to undefined function get_user_avatar() in /home/webpages/lima-city/robbmaster/html/phpBB/rules.php on line 39

ich weiß aber nicht was dort falsch ist.
Programmierer sterben nie. Sie beenden sich mit return 0.

http://www.robinrump.com :)
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Die Funktion die du benützen möchtest existiert nicht in deinem Code.
Du musst dazu die includes/functions_display.php einbeziehen:
finde:

Code: Alles auswählen

// Ein typischer Gebrauch um Variablen an das Template zu senden.
$template->assign_vars(array(
davor einfügen:

Code: Alles auswählen

include($phpbb_root_path . "includes/functions_display.$phpEx");
kein Support per PN
Benutzeravatar
Robbi der Forenfreak
Mitglied
Beiträge: 409
Registriert: 11.01.2007 17:53
Kontaktdaten:

Beitrag von Robbi der Forenfreak »

Also. Es funktioniert. Ich wollte allerdings noch den Rest vom Footer haben und habe dann ein wenig Code aus der index_footer.html oder was das war kopiert. Mein Code in der Styleadatei sieht jetzt so aus:

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->
<div>{MY_AVATAR}</div>
<div>{EXAMPLE_VAR}</div>
<div>{GOOGLE_LOGO}</div>
<table class="table1" cellspacing="1">
    <tr>        
	     <th>{L_EXAMPLE}</th>
		 <th>{L_DEMO}</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>    
	</tr>    
	<!-- END block_name -->
</table>
<!-- IF not S_USER_LOGGED_IN and not S_IS_BOT -->
	<form method="post" action="{S_LOGIN_ACTION}" class="headerspace">
	<h3><a href="{U_LOGIN_LOGOUT}">{L_LOGIN_LOGOUT}</a><!-- IF S_REGISTER_ENABLED -->&nbsp; &bull; &nbsp;<a href="{U_REGISTER}">{L_REGISTER}</a><!-- ENDIF --></h3>
		<fieldset class="quick-login">
			<label for="username">{L_USERNAME}:</label>&nbsp;<input type="text" name="username" id="username" size="10" class="inputbox" title="{L_USERNAME}" />  
			<label for="password">{L_PASSWORD}:</label>&nbsp;<input type="password" name="password" id="password" size="10" class="inputbox" title="{L_PASSWORD}" />
			<!-- IF S_AUTOLOGIN_ENABLED -->
				| <label for="autologin">{L_LOG_ME_IN} <input type="checkbox" name="autologin" id="autologin" /></label>
			<!-- ENDIF -->
			<input type="submit" name="login" value="{L_LOGIN}" class="button2" />
		</fieldset>
	</form>
<!-- ENDIF -->

<!-- IF S_DISPLAY_ONLINE_LIST -->
	<!-- IF U_VIEWONLINE --><h3><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a></h3><!-- ELSE --><h3>{L_WHO_IS_ONLINE}</h3><!-- ENDIF -->
	<p>{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<br />{RECORD_USERS}<br /> <br />{LOGGED_IN_USER_LIST}
	<!-- IF LEGEND --><br /><em>{L_LEGEND}: {LEGEND}</em><!-- ENDIF --></p>
<!-- ENDIF -->

<!-- IF S_DISPLAY_BIRTHDAY_LIST and BIRTHDAY_LIST -->
	<h3>{L_BIRTHDAYS}</h3>
	<p><!-- IF BIRTHDAY_LIST -->{L_CONGRATULATIONS}: <strong>{BIRTHDAY_LIST}</strong><!-- ELSE -->{L_NO_BIRTHDAYS}<!-- ENDIF --></p>
<!-- ENDIF -->

<!-- IF NEWEST_USER -->
	<h3>{L_STATISTICS}</h3>
	<p>{TOTAL_POSTS} &bull; {TOTAL_TOPICS} &bull; {TOTAL_USERS} &bull; {NEWEST_USER}</p>
<!-- ENDIF -->

<!-- INCLUDE overall_footer.html -->
Wie aber auf http://robbmaster.lima-city.de/phpBB/rules.php zu sehen ist, fehlt die Legende und die Statistik. Was habe ich falsch gemachtß
Programmierer sterben nie. Sie beenden sich mit return 0.

http://www.robinrump.com :)
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“