في Kentico CMS، كيف يمكنك الاشتراك برمجيا للمستخدمين في النشرات الإخبارية؟

StackOverflow https://stackoverflow.com/questions/1293687

سؤال

عند الانتهاء من نموذج الدفع مخصص، أضيف أدوار مستخدمين وشارة واثنين من الأصدقاء. تعمل جميع هذه التغييرات بشكل جيد وملء كائن المستخدم وجداول قاعدة البيانات المقابلة. عندما أستخدم الرمز أدناه (نسخ وتغيير من تثبيت 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);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top