في Kentico CMS، كيف يمكنك الاشتراك برمجيا للمستخدمين في النشرات الإخبارية؟
-
18-09-2019 - |
سؤال
عند الانتهاء من نموذج الدفع مخصص، أضيف أدوار مستخدمين وشارة واثنين من الأصدقاء. تعمل جميع هذه التغييرات بشكل جيد وملء كائن المستخدم وجداول قاعدة البيانات المقابلة. عندما أستخدم الرمز أدناه (نسخ وتغيير من تثبيت Kentico CMS) أحصل على ISSUSSCORCOPED == صحيح، ولكن لا يبدو أن المستخدم مختلطا. أيه أفكار؟
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