2009-08-18 4 views
3

맞춤 결제 양식을 작성하면 두 개의 사용자 역할, 배지 및 두 명의 친구를 추가합니다. 이러한 모든 변경 사항은 잘 작동하고 사용자 개체 및 해당 데이터베이스 테이블에 채워집니다. 아래 코드 (Kentico CMS 설치에서 복사 및 변경)를 사용하면 IsSubscribed == true가되지만 사용자가 가입 한 것으로 보이지 않습니다. 어떤 아이디어?Kentico CMS에서 프로그래밍 방식으로 사용자를 뉴스 레터에 구독 하시겠습니까?

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

답변

5

알 수 있습니다. 구독자를 만든 후에는 구독자를 뉴스 레터에 추가해야합니다. 사용해야하는 항목 :

SubscriberNewsletterInfoProvider.AddSubscriberToNewsletter(sb.SubscriberID, newsletterId, DateTime.Now);