Kentico CMS에서 사용자는 어떻게 뉴스 레터를 프로그래밍 방식으로 구독합니까?
-
18-09-2019 - |
문제
맞춤 결제 양식이 완료되면 두 가지 사용자 역할, 배지 및 두 친구를 추가합니다. 이러한 모든 변경 사항은 잘 작동하고 사용자 개체 및 해당 데이터베이스 테이블로 채워집니다. 아래 코드를 사용하면 (Kentico CMS 설치에서 복사 및 변경) issubscribed == true를 얻지 만 사용자는 구독되지 않은 것으로 보입니다. 어떤 아이디어?
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!";
해결책
알았어요! 가입자를 구축 한 후에는 뉴스 레터에 추가해야합니다. 사용해야합니다.
SubscriberNewsletterInfoProvider.AddSubscriberToNewsletter(sb.SubscriberID, newsletterId, DateTime.Now);
제휴하지 않습니다 StackOverflow