Simplenews token [UID] gesucht
Eingetragen von katasun (281)
am 20.05.2010 - 07:30 Uhr in
am 20.05.2010 - 07:30 Uhr in
Für das Modul Simplenews gibt es ja die Token Einbindung. Kennt jemand einen Weg, die BenutzerID des Newsletterempfängers
in den Newsletter miteinzubringen. Hab bis jetzt nicht gefunden, was wirklich geklappt hätte. Danke.
Katasun
- Anmelden oder Registrieren um Kommentare zu schreiben
Modul "Custom Tokens"
am 20.05.2010 - 20:09 Uhr
Hallo Katasun,
wenn's das Token noch nicht gibt, könntest du dir vielleicht ein eigenes basteln mit http://drupal.org/project/token_custom
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
Danke
am 21.05.2010 - 13:53 Uhr
leider nichts an Beispielen oder Anleitung gefunden, aber ich werde ranbleiben.
gruss
Katasun
Token erst in Dev-Version
am 21.05.2010 - 16:59 Uhr
Hallo Katasun,
Token-Unterstützung gibt's erst in der Dev-Version. Ich nehmen an, die hast du. Unter admin/settings/simplenews/subscription und auch node/add/simplenews finden sich alle "Replacement patterns" (ggf. aufklappen) und dort unter "Global Tokens" die gewünschte [user-id].
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
Vielen Dank
am 21.05.2010 - 19:15 Uhr
ja ich habe die dev Version, und es gibt dort auch eine Menge token, der obere Teil der Tokenliste gibt die
Token für die Empfänger der Newsletter aus. Also bekommt man dort mit dem Tiken [user] dann den
eigenen Username.
Der zweite Abschnitt der Token enthält auch [UID] dann kommt aber in den Newsletter die UID des
Absenders, in dem Fall meine UID.
Was ich aber suche ist die Angabe eines Links in dem die [UID] des Empfängers des Newsletter genutzt
wird. Sicher ist das schon dicht dran, aber ich weiß nicht was ich ändern müßte um aus dem token [user]
den token [UID] zu machen.
Wenn Du vielleicht ein Beispiel kennst, wie das Modul eigene Token zu nutzen ist, wird es sicher nicht so
schwer sein, aber ich habe noch garnicht gefunden und weiß nicht was für einen php code ich nutzen
soll.
Gruss
Katasun
Schöne Pfingsten
Simplenews auch für nicht registrierte Benutzer?
am 21.05.2010 - 19:50 Uhr
Ah, jetzt verstehe ich endlich das Problem ;-)
Aber muss man nicht bei Simplenews nur seine E-Mail eintragen und nicht unbedingt auch registrierter Benutzer sein? Dann gäbe es gar keine [UID] für jeden Empfänger.
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
Ja das stimmt, ...
am 22.05.2010 - 17:41 Uhr
Ja das stimmt, aber es gibt eine automatische Anmeldung zum Newsletter. Die meisten Benutzer der Webseite
sind dann auch beim Newsletter angemeldet.
Gruss
Katasun
Wie könnte man es besser machen?
am 09.06.2010 - 19:54 Uhr
Habe es jetzt gelöst, aber sozusagen die Quelle "gehackt", ist natürlich unschön bei Updates.
Wenn mir jemand schreibt, wie es besser geht freue ich mich.
Also habe ich im Modul simplenews.modul folgende Änderung gemacht:
==> $tokens['simplenews']['simplenews-receiver-uid'] = t('!!!UID of the newsletter receiver!!! ');
/**
* Implementation of hook_token_list().
*/
function simplenews_token_list($type = 'all') {
$tokens = array();
switch ($type) {
case 'simplenews_subscription':
$tokens['simplenews']['simplenews-subscribe-url'] = t('URL of the subscribe confirmation page');
$tokens['simplenews']['simplenews-unsubscribe-url'] = t('URL of the unsubscribe confirmation page');
$tokens['simplenews']['simplenews-receiver-mail'] = t('Email address of the newsletter receiver');
$tokens['simplenews']['simplenews-newsletters-name'] = t('The name of the newsletter series');
$tokens['simplenews']['simplenews-newsletters-url'] = t('URL of the taxonomy page listing the issues of this newsletter series');
break;
case 'all':
case 'simplenews':
$tokens['simplenews']['simplenews-subscribe-url'] = t('URL of the subscribe confirmation page.');
$tokens['simplenews']['simplenews-unsubscribe-url'] = t('URL of the unsubscribe confirmation page');
$tokens['simplenews']['simplenews-receiver-name'] = t('Username of the newsletter receiver or anonymous user name.');
// katasun
$tokens['simplenews']['simplenews-receiver-uid'] = t('!!!UID of the newsletter receiver!!! ');
$tokens['simplenews']['simplenews-receiver-mail'] = t('Email address of the newsletter receiver');
$tokens['simplenews']['simplenews-newsletter-url'] = t('URL of this newsletter issue');
$tokens['simplenews']['simplenews-newsletters-name'] = t('The name of the newsletter series');
$tokens['simplenews']['simplenews-newsletters-url'] = t('URL of the taxonomy page listing the issues of this newsletter series');
break;
}
return $tokens;
und dann noch hier
// Build tokens for both 'simplenews_subscription' and 'simplenews'.
$values['simplenews-subscribe-url'] = url('newsletter/confirm/add/'. $hash, array('absolute' => TRUE, 'language' => $language));
$values['simplenews-unsubscribe-url'] = url('newsletter/confirm/remove/'. $hash, array('absolute' => TRUE, 'language' => $language));
$values['simplenews-receiver-uid'] = $account->uid;
$values['simplenews-receiver-mail'] = $account->mail;
$values['simplenews-newsletters-name'] = $newsletter_name ? check_plain($newsletter_name) : '';
$values['simplenews-newsletters-url'] = url('taxonomy/term/'. $newsletter->tid, array('absolute' => TRUE, 'language' => $language));
==> $values['simplenews-receiver-uid'] = $account->uid;
Gruss
Katasun
Separates Token mit TokenSTARTER
am 17.06.2010 - 18:51 Uhr
Hallo Katasun,
ich habe mal probiert, deine Änderungen in ein separates Token-Module auszulagern, wie für TokenSTARTER beschrieben (Bestandteil des Token-Moduls):
token_receiver.info
; $Id: token_receiver.info,v 1.1.2.1 2009/04/19 21:31:24 greggles Exp $
name = Token Receiver
description = Provides the UID of a Simplenews receiver.
dependencies[] = token
core = 6.x
token_receiver.module
<?php
// $Id: token_receiver.module,v 1.1.2.3 2010/03/11 19:28:54 davereid Exp $
/**
* @file
* The Token API module.
*
* The Token module provides an API for providing tokens to other modules.
* Tokens are small bits of text that can be placed into larger documents
* via simple placeholders, like %site-name or [user].
*
* @ingroup token
*/
/**
* Implementation of hook_token_list().
*/
function token_receiver_token_list($type = 'all') {
$tokens = array();
if ($type == 'simplenews') {
$tokens['simplenews']['simplenews-receiver-uid'] = t('!!!UID of the newsletter receiver!!! ');
}
if ($type == 'node' || $type == 'all') {
// Node tokens here.
}
return $tokens;
}
/**
* Implementation of hook_token_values().
*/
function token_receiver_token_values($type, $object = NULL) {
$values = array();
switch ($type) {
case 'simplenews_subscription':
$values['simplenews-receiver-uid'] = $account->uid;
break;
case 'node':
// Node tokens here.
break;
}
return $values;
}
?>
Ich hab's allerdings nicht live und in Action ausprobiert und man kann da sicher noch dran rumfeilen.
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
token_receiver.module
am 17.06.2010 - 23:05 Uhr
Super, das werde ich mal genau anschauen. Da die seite live ist, kann es etwas dauern, bis ich
es probieren kann. Ich habe gerade Unmengen an Testmails an einen Teil der User geschickt,
die irgendwann genervt sind.
Auf jeden Fall vielen Dank, wenn es klappt, werde ich es auch auf Drupal.org posten, weil man
dann eine Struktur hat, die Funktionen für simplemail zu erweitern, falls nötig.
Katasun
$account
am 18.06.2010 - 07:33 Uhr
oops...
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
$account
am 18.06.2010 - 07:33 Uhr
Da bin ich mal gespannt. Bin mir nicht ganz sicher, ob und wie das Modul auf die Variable
$account
zugreifen kann.Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
Token Modul test
am 10.07.2010 - 17:30 Uhr
hat wie immer, viel zu lange gedauert, aber jetzt werde ich mal das Modul testen und schreibe Dir.
Gruss
Katasun
Modul "Advanced User"
am 20.07.2010 - 16:56 Uhr
Vielleicht nutzt das was (zumindest kann man was abgucken):
Token Fields for Email
%user_name => $user->name
%user_email => $user->mail
%user_status => $user->status
%user_created => strftime('%x %X', $user->created)
%user_signature => $user->signature
%user_language => $user->language
%user_timezone => $user->timezone
%user_theme => $user->theme
%site => variable_get("site_name", "drupal")
%uri => url('user/'.$user->uid, NULL, NULL, TRUE)
http://drupal.org/project/advuser
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!