2009-08-18 6 views
3

Après avoir rempli un formulaire de paiement personnalisé, j'ajoute deux rôles d'utilisateur, un badge et deux amis. Tous ces changements fonctionnent bien et remplissent l'objet Utilisateur et les tables de base de données correspondantes. Lorsque j'utilise le code ci-dessous (copié et modifié depuis l'installation de Kentico CMS), j'obtiens IsSubscribed == true, mais l'utilisateur ne semble jamais être abonné. Des idées?Dans Kentico CMS, comment souscrivez-vous des utilisateurs aux newsletters par programmation?

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!"; 

Répondre

5

Vous l'avez! Après avoir construit l'Abonné, vous devez les ajouter à la Newsletter. Vous devez utiliser:

Questions connexes