Dans Kentico CMS, comment Adhérez-vous à la newsletter programme utilisateur?
-
18-09-2019 - |
Question
À la fin d'un formulaire de paiement personnalisé ajouter deux rôles d'utilisateur, un badge, et deux amis. Tous ces changements fonctionnent bien et remplir à l'objet utilisateur et les tables de base de données correspondants. Lorsque j'utilise le code ci-dessous (copié et modifié de Kentico CMS installer) Je reçois IsSubscribed == vrai, mais l'utilisateur ne semble jamais être abonné. Toutes les idées?
int newsletterId = 3;
Subscriber sb = SubscriberProvider.GetSubscriber("cms.user", currentUser.UserID);
if (sb == null)
{
// Create new subscriber
sb = SaveSubscriber(); // CreateSubscriber(value[0], itemId);
}
// If subscriber exists and is not subscribed, subscribe him
if ((sb != null) && (!SubscriberProvider.IsSubscribed(sb.SubscriberID, newsletterId)))
{
try
{
SubscriberProvider.Subscribe(sb.SubscriberID, newsletterId, DateTime.Now, false);
lblTroubledUser.Text = "shoulda been subscribed to newsletter";
}
catch
{
lblTroubledUser.Text = "problem subscribing to newsletter";
}
}
else
lblTroubledUser.Text = (!SubscriberProvider.IsSubscribed(sb.SubscriberID, newsletterId)) ? "sb is null" : "already subscribed to newsletter!";
La solution
Je l'ai! Après avoir créé l'abonné vous devez les ajouter à la Newsletter. Vous devez utiliser:
SubscriberNewsletterInfoProvider.AddSubscriberToNewsletter(sb.SubscriberID, newsletterId, DateTime.Now);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow