Simplenews Bestätigung ohne...

am 11.11.2009 - 11:36 Uhr in
Hallo, Ich habe simplenews installiert und funktioniert auch.
Aber Ich möchte die User nur diesen Bestätigungsvorgang vereinfachen.
Das heißt, die user braucht nur ein mal die LINK (wie, http://www.mydomain.de/newsletter/confirm/remove/e9be4e020e38t65)in der Bestätigungsemail klicken, dann ist die Bestätigung fertig.
(Momentan, nach Klicken die Link wird die User auf meine Webseit weitergeleitet und muss dort noch einmal eine BestätigungsFormular bestätigen.)
Danke
wanneng
- Anmelden oder Registrieren um Kommentare zu schreiben
So geht, aber....
am 11.11.2009 - 15:20 Uhr
Ich habe die Code(simplenews.subscription.inc) in Zeile 120
"return drupal_get_form('simplenews_confirm_removal_form', $subs->mail, $newsletter);"
durch
"simplenews_unsubscribe_user($subs->mail, $newsletter->tid, FALSE);"
erzetzt.
In Backende funktioniert es, aber in Frontende zeigt "Page nicht gefunden".
Vielleicht muss man eine "redirect" einbauen.
aber wie? wer hat eine Tip?
Danke
wanneng
simplnews confirm
am 14.11.2009 - 03:43 Uhr
interessantes Thema, dachte schon ich bin der einzige der das nochmalige bestätigen einen klick zuviel findet.
Die Änderungen im Modul führen bei mir dazu, dass die Bestätigungsmail zwar ankommt - der Benutzer beim klick auf den Aktivierungslink allerdings nicht in die Liste eingetragen wird und die seite nicht gefunden wird. Funktioniert die aktivierung bei Dir einwandfrei ?
Bei mir wars in Zeile 116 und sieht jetzt so aus:
elseif ($op1 == 'add') {
simplenews_unsubscribe_user($subs->mail, $newsletter->tid, FALSE);
}
vg
So habe ich gemacht.
am 14.11.2009 - 11:01 Uhr
ich habe
Zeilen 112(nicht 122) bis 117:
------ originl----
if ($op1 == 'remove') {
return drupal_get_form('simplenews_confirm_removal_form', $subs->mail, $newsletter);
}
elseif ($op1 == 'add') {
return drupal_get_form('simplenews_confirm_add_form', $subs->mail, $newsletter);
}
--------durch ----
if ($op1 == 'remove') {
// return drupal_get_form('simplenews_confirm_removal_form', $subs->mail, $newsletter);
simplenews_unsubscribe_user($subs->mail, $newsletter->tid, FALSE);
// hier muss etwas kommen. z.B. return....
}
elseif ($op1 == 'add') {
//return drupal_get_form('simplenews_confirm_add_form', $subs->mail, $newsletter);
simplenews_subscribe_user($subs->mail, $newsletter->tid, FALSE);
// hier muss etwas kommen. z.B. return....
}
------gesetzt-------
In Backende(in DB) ist es OK (wurde Daten add/rewoved). Aber in Frontende zeigt Fehlermeldung. Das muss man noch ein paar code, Z.B. return... schreiben. Ich bin nicht weiter gekommen.
Kann jemande Tipp geben?
theme_page oder template.php ?
am 14.11.2009 - 14:52 Uhr
danke für die Antwort, werde es später direkt mal ausprobieren.
Bzgl. des Frontend Problems: ist es möglich mit:
'theme_page(simplenews_subscribe_user($subs->mail, $newsletter->tid, FALSE);)'
(http://api.drupal.org/api/function/theme_page/4.7)
eine Seite zu erzeugen, die die entsprechende Meldung über die Eintragung in den Newsletter enthält ??
Alternativ würde mir ein abfangen der URL über die template.php einfallen "alle URLS die "/?q=newsletter/confirm/add/" enthalten werden auf eine Bestätigungs-Node umgeleitet (?).
Redirect über page.tpl.php
am 15.11.2009 - 00:29 Uhr
zugegeben, keine besonders schöne Lösung, aber sie funktioniert:
Am Anfang der page.tpl.php habe ich die folgende Abfrage eingebaut:
<?php
$nconfirm = $_GET["q"];
$first = strpos ( $nconfirm, 'letter/confirm/add' );
if ($first == 4)
{
header("Location: ?q=node/1");
} else
{
?>
Hier steht die orginale page.tpl.php
<?php
}
?>
Es geht bei mir nicht
am 04.12.2009 - 14:40 Uhr
Hallo,
Ich habe deine code in page.tpl.php eingefüllt.
Aber bekomme ich eine weiss Seite nach klicken die Aktivierung in der Email.
Was kann es sein? welch Drupal Version verwendest du?
Danke
wanneng
Eine weiße Seite sieht nach
am 04.12.2009 - 14:56 Uhr
Eine weiße Seite sieht nach einem Tippfehler in der page.tpl.php aus oder nach einem Falschen Platz für den eingefügten Code. Sieh doch mal im PHP-Log nach der Fehlerbeschreibung.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Es gibt einen Patch
am 11.02.2010 - 10:30 Uhr
Hallo zusammen,
im Issue http://drupal.org/node/508802 ist ein Patch für genau dieses Problem.
Wie ich finde, wurde da eine sehr gute, einfach und individuell konfigurierbare Lösung gefunden.
Der Patch bietet sogar noch die Möglichkeit einen Node als Antwortseite zu konfigurieren.
Gebt doch auch auf dem Issue euer Feedback. Vielleicht kommt der Patch ja in das nächste Release.
Fände ich ziemlich gut.
Viele Grüße
Stefan
--
Stefan
http://www.zaehneknirschen-endlich-besiegt.de