Zusätzliche Variable in email

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Antworten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3532
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Zusätzliche Variable in email

Beitrag von chris1278 »

Hallo meine Frage ist folgende. Ich supporte ein Forum und dort würde ich gerne in die Erste E-Mail, die der Benutzer bekommt, eine zusätzliche Variable einfügen.

Ich habe eh schon eine Eigene kleine Extension dort am Laufen die 1-2 Variablen der PHP Standard überschreibt dabei handelt es sich um die Nutzungsbedingungen und die Datenschutzerklärung.

Aber um diese geht es nicht. Aber diese kann ich für meine Sache, die ich hier möchte ergänzen.

Also die E-Mail die der Benutzer bekommt, befindet sich in der Datei. admin_welcome_inactive.txt

Diese würde ich gerne um folgende Textstelle ergänzen:

Um deinen Mitgliedsbeitrag zu Bezahlen, kannst du aus einer unserer Zahlungsbedingungen auswählen. Diese Zahlungsbedingungen kannst du unter: {VARIABLE1} einsehen.

Es geht hierbei um die Variable {VARIABLE1}. Diese müsste ich ja in der listner.php in meiner Extension deklarieren da ich diese ja nicht in die coredateien schreiben will.

Ich hab das Construct so:

Code: Alles auswählen

public function __construct($phpbb_root_path, \phpbb\user $user, \phpbb\template\template $template)
	{
		$this->root_path = $phpbb_root_path;
		$this->user = $user;
		$this->template = $template;
	}

	static public function getSubscribedEvents()
	{
		return array(
			'core.user_setup' => 'load_language_on_setup',
			'core.page_header_after' 		=> 	'variable',
		);
	}
Und den Teil der Variable habe ich so gestalltet:

Code: Alles auswählen

public function variable()
	{
		{
			$this->template->assign_vars(array(
				
				'U_VARIABLE1' => $this->({root_path}/app.php/zahlungsmglichkeiten);
			));
		}
	}

Das ziel was zu laden wäre. Verlinkt werden sollte auf eine Seite, die mit der Extension pages erstellt worden ist
Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 7869
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Zusätzliche Variable in email

Beitrag von Kirk »

Hi
Als erstes müstest du das richtige PHP Event nehmen core.ucp_register_user_row_after, dann musst du die Variable WELCOME_MSG ansprechen,das Problem dabei ist das du keine zusätzlich Variable einfügen kannst (kommt sonst zu Fehlermeldung), sondern die vorhandenen z.B. so ändern musst:

Code: Alles auswählen

'WELCOME_MSG'	=> htmlspecialchars_decode(sprintf($this->user->lang['WELCOME_SUBJECT'], $this->config['site_description'])),
in der Languge Datei sieht es dann so aus:

Code: Alles auswählen

	'WELCOME_SUBJECT'	=> 'Willkommen um deinen Mitgliedsbeitrag zu Bezahlen, kannst du aus einer unserer Zahlungsbedingungen auswählen. Diese Zahlungsbedingungen kannst du unter: %1$s einsehen.',
Ich hab jetzt bei meinen Test die Variable site_description genommen, du müsstest das ganze auf deine Bedürfnisse anpassen.
Das ganze sieht dann so aus:

Code: Alles auswählen

	public function membership_subscription()
	{
		if ($this->config['email_enable'])
		{
			include_once($this->phpbb_root_path . 'includes/functions_messenger.' . $this->php_ext);
			$this->template->assign_vars(array(
				'WELCOME_MSG'	=> htmlspecialchars_decode(sprintf($this->user->lang['WELCOME_SUBJECT'], $this->config['site_description'])),
			));
		}
	}
Benutzeravatar
chris1278
Mitglied
Beiträge: 3532
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Zusätzliche Variable in email

Beitrag von chris1278 »

Ich werde mal testen.
Antworten

Zurück zu „Extension Bastelstube“