Seite 1 von 1

Eintrag entfernen per Ext

Verfasst: 29.10.2014 13:23
von Anteraner
Hallo phpBB.de Community,

ich würde gerne die Beschreibung (SITENAME & SITE_DESCRIPTION) aus dem Header entfernen.
In den älteren phpBB Versionen (3.0.x) habe ich dies einfach immer raus gelöscht, nun sollte man allerdings das Stammverzeichnis nach Möglichkeit nicht mehr bearbeiten.

Daher meine Frage, wie muss ich das anstellen, bzw. welche Anweisung muss ich verwenden, dass in einer Erweiterung dann die Einträge

Code: Alles auswählen

<h1>{SITENAME}</h1>
<p>{SITE_DESCRIPTION}</p>
aus der overall_header.html entfernt werden.

Ich danke schon im Voraus.

Gruß Anteraner

Re: Eintrag entfernen per Ext

Verfasst: 29.10.2014 13:30
von Gast234254
Lösche die Einträge im ACP. Dann dürfte auch nichts im Header angezeigt werden.

Re: Eintrag entfernen per Ext

Verfasst: 29.10.2014 13:42
von Anteraner
wintstar hat geschrieben:Lösche die Einträge im ACP. Dann dürfte auch nichts im Header angezeigt werden.
Danke für die schnelle Antwort.
Ist es nicht aber so, dass die Keywords SITENAME & SITE_DESCRIPTION sich auch in anderen Bereichen auswirken, wie z.B. dem Titel.
Dann würde das entfernen im ACP ja dazu führen das die Einträge dort (z.B. Titel) auch nicht vorhanden sind, dies möchte ich allerdings nicht.

Gruß Anteraner

Re: Eintrag entfernen per Ext

Verfasst: 29.10.2014 13:58
von HJW
Hallo,

ich hab mir, um die Original-Dateien nicht zu verändern eine eigene .css Datei angelegt und in die stylesheet.css als letztes eingebunden.
Füge dort einfach

Code: Alles auswählen

#site-description h1, #site-description p{
	display:none;
}
ein.
Die eigene .css hat auch den Vorteil, dass man einen guten Überblick über eigene Veränderungen hat

Re: Eintrag entfernen per Ext

Verfasst: 29.10.2014 14:05
von Anteraner
HJW hat geschrieben:Hallo,

ich hab mir, um die Original-Dateien nicht zu verändern eine eigene .css Datei angelegt und in die stylesheet.css als letztes eingebunden.
Füge dort einfach

Code: Alles auswählen

#site-description h1, #site-description p{
	display:none;
}
ein.
Die eigene .css hat auch den Vorteil, dass man einen guten Überblick über eigene Veränderungen hat
Okay, danke für die Antwort, werde ich nachher gleich mal antesten.

Edit um 14:11 Uhr: hat sehr gut funktioniert, danke für diesen Vorschlag.

Re: Eintrag entfernen per Ext

Verfasst: 11.12.2014 17:25
von D@ve
Das würde alles funktionieren...

Am Elegantesten wäre es aber, wenn Du die neue Funktionalität nutzt...

Lege Dir eine Datei in Deiner Extension an. main_listener.php:

Code: Alles auswählen

class main_listener implements EventSubscriberInterface
{
private $template;

//im Konstruktor übergibst Du das Template-Objekt an Deine Klasse
public function __construct(\phpbb\config\config $config, \phpbb\template\template $template )
{
	$this->template = $template;				
}

//Hier definierst Du eine Funktion die über den Event Listener aufgerufen werden soll (die Du weiter unten implementierst)
static public function getSubscribedEvents()
{
	return array(
		'core.page_footer'     => 'change_header',
	);
}


//hier überschreibst Du die orginalen Dateien
public function remove_from_delete_list($event)
{
	$this->template->assign_vars(array(
		'SITENAME'						=> 'Neuer Site-Name',
		'SITE_DESCRIPTION'				=> 'Neue Beschreibung''
	));	
}
}

Das ganze machst Du noch über config/services.yml bekannt:

Code: Alles auswählen

services:
    ENTWICKLERNAME.NAME_DER_EXTENSION.listener:
        class: ENTWICKLERNAME.NAME_DER_EXTENSION\events\main_listener
        arguments:
            - @config
            - @template
        tags:
            - { name: event.listener }

So hast Du den Header sauber überschrieben, ohne auch nur eine Zeile Quell-Code zu ändern. Du könntest das jetzt zum Beispiel auch von irgendwelchen weiteren Parametern abhängig machen. Zum Beispiel Dir nur den Sitename aus der Config holen und bei normalen Forenseiten alles so lassen und Deine eigenen Extension-Seiten überschreiben...

Gruß, Dave