Benachrichtigungs Email bei neuen Thema - Zusätzliches Feld

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
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
Tuni
Mitglied
Beiträge: 2
Registriert: 18.01.2013 09:31

Benachrichtigungs Email bei neuen Thema - Zusätzliches Feld

Beitrag von Tuni »

Hallo zusammen,

wir haben bei unserer phpBB Installation in den Benutzerprofilen 2 zusätzliche Profilfelder. Diese beiden Felder würde ich gerne in der Email ausgeben die die Benutzer erhalten wenn sie z.B. ein Thread oder Forum abonniert haben und dort ein neue Beitrag eingestellt wurde. Wo ich den Text der Nachricht ändern kann weiß ich (languages/email/). Bloß wie füge ich dort ein selbst erstelltes Profilfeld ein?

Edit: Es geht um diese 3 Textdateien die mit den beiden Feldern versehen werden müssen:

- forum_notify.txt
- newtopic_notify.txt
- topic_notify.txt

Gruß Tuni
Verschoben von phpBB 3.0: Administration und Benutzung nach phpBB 3.0: Mod-Bastelstube am 18.01.2013 16:45 durch Crizzo

Tuni
Mitglied
Beiträge: 2
Registriert: 18.01.2013 09:31

Re: Benachrichtigungs Email bei neuen Thema - Zusätzliches F

Beitrag von Tuni »

Niemand auch nur eine grobe Ahnung? Habe bisher nicht viel mit phpbb gemacht und stehe momentan wie der Ochse vorm Berg. Ein paar Informationen wo ihr meint wo ich suchen könnte würden mir auch schon helfen.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Benachrichtigungs Email bei neuen Thema - Zusätzliches F

Beitrag von Miriam »

Diese beiden Felder würde ich gerne in der Email ausgeben die die Benutzer erhalten wenn sie z.B. ein Thread oder Forum abonniert haben und dort ein neue Beitrag eingestellt wurde.
Leider hast Du nichts zum Thema "benutzerdefinierte Profilfelder" geschrieben.
Ziel ist es grob umrissen, die jeweiligen Feldinhalte in die (z.B.) notify.txt hineinzubekommen und das auch noch benutzerbezogen.
Sicherlich wird Dir aufgefallen sein, daß es in dem vorgefertigen e-mail Text Variablen gibt (zumindest läßt es sich vermuten, daß es welche sind, schon vom Aussehen her)

Nehmen wir also {USERNAME}. Das sieht aber schon wieder zu speziell aus... nehmen wir also besser nur USERNAME
Dann laß uns mal schauen, wo diese Variable überhaupt gefüllt wird (daß sie gefüllt wird, wissen wir schon) und irgendwie hat das auch was mit notify zu tun (die Erweiterung .txt habe ich aus treffertechnischen Gründen weg gelassen).

Also zücken wir mal unser notepad++ und suchen global in allen Dateien nach notify.
Los geht's.
Jetzt muß man natürlich etwas die Augen auf halten und mitdenken, denn es gibt ein paar Ergebnisse und es muß etwas herausgefiltert werden. Aber das hier sieht doch schon gut aus:

Code: Alles auswählen

  E:\xampp\htdocs\phpBB3\includes\functions_posting.php (3 hits)
	Line 1182: 	if (($topic_notification && !$config['allow_topic_notify']) || ($forum_notification && !$config['allow_forum_notify']))
	Line 1221: 			'template'		=> ($topic_notification) ? 'topic_notify' : 'newtopic_notify',
	Line 1221: 			'template'		=> ($topic_notification) ? 'topic_notify' : 'newtopic_notify',
Template, topic_notify und newtopic_notify... das ist genau das, was wir suchen... Yay!
Wir haben also diese Codestelle in der includes/functions_posting.php gefunden:

Code: Alles auswählen

            'template'        => ($topic_notification) ? 'topic_notify' : 'newtopic_notify', 
Soweit, so gut. Dann laß uns mal schauen, wo wir gelandet sind *scroll im Code nach oben*
Schon wieder Treffer ->

Code: Alles auswählen

/**
* User Notification
*/
function user_notification($mode, $subject, $topic_title, $forum_name, $forum_id, $topic_id, $post_id) 
Wir sind richtig!

Jetzt geht die Feinsuche los. Scrollen wir also langsam nach unten und halten Ausschau nach bekannten Code......

Könnte das hier sein:

Code: Alles auswählen

        foreach ($msg_list_ary as $email_template => $email_list)
        {
            foreach ($email_list as $addr)
            {
                $messenger->template($email_template, $addr['lang']);

                $messenger->to($addr['email'], $addr['name']);
                $messenger->im($addr['jabber'], $addr['name']);

                $messenger->assign_vars(array(
                    'USERNAME'        => htmlspecialchars_decode($addr['name']),
                    'TOPIC_TITLE'    => htmlspecialchars_decode($topic_title),
                    'FORUM_NAME'    => htmlspecialchars_decode($forum_name),

                    'U_FORUM'                => generate_board_url() . "/viewforum.$phpEx?f=$forum_id",
                    'U_TOPIC'                => generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&t=$topic_id",
                    'U_NEWEST_POST'            => generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&t=$topic_id&p=$post_id&e=$post_id",
                    'U_STOP_WATCHING_TOPIC'    => generate_board_url() . "/viewtopic.$phpEx?uid={$addr['user_id']}&f=$forum_id&t=$topic_id&unwatch=topic",
                    'U_STOP_WATCHING_FORUM'    => generate_board_url() . "/viewforum.$phpEx?uid={$addr['user_id']}&f=$forum_id&unwatch=forum",
                ));

                $messenger->send($addr['method']);
            }
        }
Und jetzt geht das Coden los.
Wir müssen also noch Template Variablen hinzufügen. Und hier kommst Du ins Spiel. Wie hast Du Deine Variablen benannt?

Lies auch:
https://wiki.phpbb.com/Tutorial.Template_syntax
https://wiki.phpbb.com/Template.assign_var

und auch hier: viewtopic.php?p=1178005#p1178005
Suche auch nach benutzerdefinierte Profilfelder hier im Forum.

Viel Glück!
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“