overall_header: abhängig vom Aufruf unterschiedliche Ansicht

Alles zu Styles, Templates, Icons und Smilies für phpBB 3.0.x, sowie allgemeine Designfragen zur Integration von phpBB in bestehende Websites.
phpBB Styles Demo
Forumsregeln
Bei Style spezifischen Fragen ist der Stylename und die Downloadquelle des Styles erforderlich, besser noch die URL vom betroffenen Forum.
MichaelN0815
Mitglied
Beiträge: 116
Registriert: 25.03.2003 20:05
Kontaktdaten:

overall_header: abhängig vom Aufruf unterschiedliche Ansicht

Beitrag von MichaelN0815 »

Hallo,

ich möchte, abhängig von der Webseite von der das Forum aufgerufen wird, einen etwas anderen Seitenkopf anzeigen.
Ich müsste also in overall_header abfragen können von wo der Aufruf kam. Notfalls wäre auch denkbar einen weiteren Parameter an die URL zu hängen um die aufrufende Seite zu identifizieren. Dann wäre die Frage: wie komme ich an den übergebenen Wert?
Mit freundlichen Grüßen,
Michael.
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Re: overall_header: abhängig vom Aufruf unterschiedliche Ansicht

Beitrag von mad-manne »

MichaelN0815 hat geschrieben:ich möchte, abhängig von der Webseite von der das Forum aufgerufen wird, einen etwas anderen Seitenkopf anzeigen.
Das geht durchaus ... aber bevor ich eine konkrete Lösung vorschlage wüsste ich gerne, wieviele verschiedene Referer du da unterscheiden willst?

Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
MichaelN0815
Mitglied
Beiträge: 116
Registriert: 25.03.2003 20:05
Kontaktdaten:

Re: overall_header: abhängig vom Aufruf unterschiedliche Ansicht

Beitrag von MichaelN0815 »

z.Z. 4 - aber das soll durchaus flexibel bleiben.
Mir ist klar, das ich 4 verschiedene Styles anlegen und diese mit einem entsprechenden Parameter aufrufen kann. Aber das ist mir auf Dauer zuviel Wartungsaufwand. Daher will ich eine etwas professionellere Lösung.
Mit freundlichen Grüßen,
Michael.
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Re: overall_header: abhängig vom Aufruf unterschiedliche Ansicht

Beitrag von mad-manne »

O.K. ... dann woll'n wir mal 8)

ACHTUNG: Vorher UNBEDINGT Backups aller beteiligten Dateien erstellen!

ÖFFNE: includes/functions.php

FINDE:

Code: Alles auswählen

// The following assigns all _common_ variables that may be used at any point in a template.
DAVOR, FÜGE EIN:

Code: Alles auswählen

	//
	// HTTP-Referer ermitteln ... (quick & dirty Hack by mad-manne)
	//
	// INFORMATION:
	// Normalerweise wird der vollständige Referer zugewiesen und man muss im folgenden
	// switch-Block auch nach dem vollständigen String suchen ...
	// Wenn man nur die Domain prüfen will, muss die Variable "$get_host_only" auf TRUE gesetzt werden!
	// Dadurch wird aus "http://www.somedomain.net/folder1/page1.html" nur noch:
	// "www.somedomain.net"!
	
	$get_host_only	= FALSE;
	$http_referer	= $_SERVER['HTTP_REFERER'];
	$http_referer	= ($get_host_only) ? parse_url($http_referer, PHP_URL_HOST) : $http_referer;
	
	switch($http_referer)
	{
		case 'http://www.somedomain.net/folder1/page1.html':
			$linked_from = 'site1';
			break;
			
		case 'http://www.foreign-site.com/index.php':
			$linked_from = 'site2';
			break;
			
		case 'http://www.partner-page.de/partner.php':
			$linked_from = 'site3';
			break;
			
		default:
			$linked_from = '';
	}
SUCHE:

Code: Alles auswählen

		'SITENAME'						=> $config['sitename'],
DANACH, FÜGE EIN:

Code: Alles auswählen

		'HTTP_REFERER'					=> $linked_from,
ÖFFNE: styles/DEIN_STYLE/template/overall_header.html

AN PASSENDER STELLE, FÜGE EIN:

Code: Alles auswählen

<!-- IF HTTP_REFERER == 'site1' -->
You came from Site 1!
<!-- ELSEIF HTTP_REFERER == 'site2' -->
You came from Site 2!
<!-- ELSEIF HTTP_REFERER == 'site3' -->
You came from Site 3!
<!-- ELSE -->
Don't know where you came from!
<!-- ENDIF -->
Das ganze kannst du nun sowohl im switch-Block in der php-Datei erweitern, als auch im Template die zusätzlichen site-Werte "abfragen" ...

Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
MichaelN0815
Mitglied
Beiträge: 116
Registriert: 25.03.2003 20:05
Kontaktdaten:

Re: overall_header: abhängig vom Aufruf unterschiedliche Ansicht

Beitrag von MichaelN0815 »

Wow. Sieht schon mal gut aus.

Aber mir ist heute morgen im Bad was eingefallen: ist der referrer aber nicht futsch, sobald man innerhalb des Forums einen Link aufruft? (z.B. einen Beitrag ansieht?) Oder bleibt das für die komplette Session gespeichert?
Mit freundlichen Grüßen,
Michael.
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Re: overall_header: abhängig vom Aufruf unterschiedliche Ansicht

Beitrag von mad-manne »

MichaelN0815 hat geschrieben:Wow. Sieht schon mal gut aus.
Danke :P
ist der referrer aber nicht futsch, sobald man innerhalb des Forums einen Link aufruft?
Das siehst du richtig ... die von mir vorgeschlagene Lösung taugt momentan nur für den ersten Aufruf des Forums ... danach ist der Referer futsch.
Ich dachte du wolltest das nur nutzen um die Besucher passend "begrüsen" zu können. Um das für den gesamten Besuch zu speichern wäre etwas mehr Aufwand nötig ... der auch meinen derzeitigen Wissensstand zu phpBB3 übersteigt :oops:

Da müsste dann evtl. ein anderer übernehmen :wink:

Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
MichaelN0815
Mitglied
Beiträge: 116
Registriert: 25.03.2003 20:05
Kontaktdaten:

Re: overall_header: abhängig vom Aufruf unterschiedliche Ansicht

Beitrag von MichaelN0815 »

Nein, ich möchte das Design an den jeweiligen Bereich meiner Website anpassen, aus dem das Forum aufgerufen wurde.
Alternativ könnte ich mir auch vorstellen das Design abhängig von der gerade besuchten Kategorie anzupassen.

Kann man den Parameter 'f' aus der Url in der overall_header abfragen?
Mit freundlichen Grüßen,
Michael.
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Re: overall_header: abhängig vom Aufruf unterschiedliche Ansicht

Beitrag von mad-manne »

MichaelN0815 hat geschrieben:Alternativ könnte ich mir auch vorstellen das Design abhängig von der gerade besuchten Kategorie anzupassen.
Du weisst schon, dass du jedem Forum einen eigenen(vom Standard abweichenden) Style zuordnen kannst?? Ausserdem gibt es ja IMHO seit der 3.0.4 das "Inherit"-Feature für Styles, womit das mit dem Wartungsaufwand evtl. in Grenzen gehalten werden kann ?!

Da müsste dann aber mal ein anderer übernehmen, da ich mich auch mit dem template-System von phpBB3 nicht allzu gut und vor allem mit diesem "Inherit"-DIngens gar nicht auskenne :o
Kann man den Parameter 'f' aus der Url in der overall_header abfragen?
Das geht ...
Einfach nach dem gestern eingefügten

Code: Alles auswählen

		'HTTP_REFERER'					=> $linked_from,
in der includes/functions.php noch folgendes danach einfügen:

Code: Alles auswählen

		'MY_FORUM_ID'					=> intval($_GET['f']),
Dann kannst du im overall_header ähnlich wie zuvor den Wert von {MY_FORUM_ID} abfragen.

Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
MichaelN0815
Mitglied
Beiträge: 116
Registriert: 25.03.2003 20:05
Kontaktdaten:

Re: overall_header: abhängig vom Aufruf unterschiedliche Ansicht

Beitrag von MichaelN0815 »

Danke. Ich denke das ich mit diesen Infos erstmal weiterkomme. Wenn nicht, melde ich mich nochmal.
Mit freundlichen Grüßen,
Michael.
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Re: overall_header: abhängig vom Aufruf unterschiedliche Ansicht

Beitrag von mad-manne »

MichaelN0815 hat geschrieben:Danke. Ich denke das ich mit diesen Infos erstmal weiterkomme. Wenn nicht, melde ich mich nochmal.
Ich hätte noch einen Verbesserungsvorschlag zu machen, um zu verhindern, dass du im Template auf "tausende" Foren-IDs prüfen musst ...

Dazu würde ich in der functions.php noch einen CODE-Schnipsel einbauen, in dem du jeweils eine Gruppe von Foren-IDs zu "Bereichen" zusammenfassen kannst. Auf diese so definierten Bereiche könntest du dann im Template prüfen ...

Interessiert :roll:

Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Antworten

Zurück zu „[3.0.x] Styles, Templates und Grafiken“