Seite 1 von 1

Startseiten über die Datenbank und ACP wechseln?

Verfasst: 02.08.2006 16:55
von Gooof
Hi,

ich suche schon langem nach einem Mod was mir für alle Gäste und User eine neue Startseite macht, also anstatt der üblichen index.php soll die portal.php aufgerufen werden und das über eine Auswahl im Adminbereich, gibt es da schon etwas fertiges? :roll:

Danke schonmal!

MfG
Gooof

Verfasst: 02.08.2006 19:02
von blubbin
Hi

warum machst du es nicht einfach per .htaccess oder php?

blubbin

Verfasst: 03.08.2006 15:20
von Gooof
Das geht nicht, weil ich einen Foren Hosting Service betreibe und jeder Admin es selbst einstellen kann/soll. :D

Bitte helft mir.... :wink:

Verfasst: 03.08.2006 15:30
von blubbin
Hi

dann geht es doch per php. Du machst im ACP irgendwo ne Checkbox mit 2 Werten oder ähnlich. Dann nimmst du für jede Option eine Zahl und speicherst die in der DB. Nun fügst du in der Datei eine Abfrage an, die die Zahl überprüft und dann entsprechend weiterleitet.

blubbin

Verfasst: 03.08.2006 15:46
von Gooof
hmm... stimmt natürlich, hatte ich auch vor, aber ich weiß nicht genau in welcher Datei bestimmt wird was die Startseite ist, ist das die index.php oder die common.php?

Verfasst: 03.08.2006 16:35
von Gooof
ämm... leider hilft mir hier kaum einer... :cry:

Also in der index.php habe ich jetzt ganz unten folgendes gefunden:

Code: Alles auswählen

//
// Generate the page
//
$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
könnte ich hier jetzt meinen Code einbauen, z.B. so:

Code: Alles auswählen

//
// Generate the page
//

// STARTSEITEN ÄNDERUNGS MOD
if.... Startseiten Mod
else dann
$template->pparse('body');
// STARTSEITEN ÄNDERUNGS MOD

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
Die Weiterleitung würde ich direkt per Header machen, was sagt Ihr?
ämm und was passiert mit dem include der page_tail.php? Nicht das man garkeine header weiterleitung einfügen kann, an der stelle, aber das ist ja die ausgabe der index Datei.

Verfasst: 03.08.2006 19:48
von S2B
Mach doch eine leere (KB:phpbb_seite) index.php und werte dort deinen Config-Eintrag aus:

Code: Alles auswählen

if ($config['startseite'] == 'portal'])
{
  include($phpbb_root_path . "includes/portal.$phpEx");
}
else
{
  include($phpbb_root_path . "includes/index.$phpEx");
}
Die beiden Dateien müssten dann in dein includes-Ordner verschoben werden. Außerdem bräuchten sie dann einen anderen Header:
Anstatt

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
müsste es dann so aussehen:

Code: Alles auswählen

if ( !defined('IN_PHPBB') )
{
	die('Hacking attempt');
}
Edit: Dann könnte man allerdings die Dateien zuerst mal nicht mehr direkt aufrufen, das könnte man aber mit deiner Lösung auch nicht. Ich würde dafür einfach zwei Dateien anlegen (z.B. portal.php und forums.php), in denen du dann die entsprechende Datei includest.

Verfasst: 04.08.2006 05:46
von Gooof
ok... also die index.php umbennenen, geht das denn so einfach?

Und dann mache ich eine neue index.php mit meinen abfragen?

Eine spezielle Frage die ganz wichtig ist, wie füge ich denn in die phpbb_config tabelle eine neue zelle ein mit genau meinen Werten? Hat dafür noch einer einen Code?

Verfasst: 04.08.2006 14:42
von S2B
Gooof hat geschrieben:ok... also die index.php umbennenen, geht das denn so einfach?

Und dann mache ich eine neue index.php mit meinen abfragen?
Mach einfach das, was ich gesagt habe. Also:
  1. Dateien in includes-Ordner verschieben
  2. "Header" der Dateien ändern
  3. neue index.php anlegen (Inhalt siehe oben)
  4. neue portal.php anlegen (Inhalt siehe Edit)
  5. forums.php anlegen (Inhalt siehe Edit)
Gooof hat geschrieben:Eine spezielle Frage die ganz wichtig ist, wie füge ich denn in die phpbb_config tabelle eine neue zelle ein mit genau meinen Werten? Hat dafür noch einer einen Code?
Du musst zuerst eine neue Zeile in die Tabelle einfügen, entweder per phpMyAdmin oder direkt per SQL-Befehl:

Code: Alles auswählen

INSERT INTO phpbb_config (config_name, config_value) VALUES('dein_name', 'dein_wert');
Danach musst du die admin/board_config.php und ggf. die Sprachdateien anpassen (lang_admin.php).

Die Variable kannst du dann so aufrufen:

Code: Alles auswählen

$config['dein_name']
Edit: Nach "ewigen Zeiten" noch einen Fehler gefunden: Die Variable muss natürlich $board_config anstatt $config heißen. :wink: