We can customize the newsletter function using an extended Newsletter. Model . we can update the fields using the extend the Newsletter. Model . We develop a new newsletter extension for two websites.we differentiate the two websites based on the siteid.
// JJ.Newsletter_Extension.extendnewsletter.js
// Load all your starter dependencies in backend for your extension here
// ----------------
define('JJ.Newsletter_Extension.extendnewsletter'
, [
'Newsletter.Model', 'Application', 'SC.Models.Init', 'underscore', 'Utils', 'Configuration', 'LiveOrder.Model', 'SC.Model'
]
, function (
NewsletterModel, Application, ModelsInit, _, Utils, Configuration, LiveOrderModel, SCModel
) {
'use strict';
_.extend(NewsletterModel, {
// customisation to set default value "Retail Blvd" for the field customer segments
createSubscription: function createSubscription(email) {
try {
var record = nlapiCreateRecord('lead');
var siteid = ModelsInit.session.getSiteSettings(['siteid']).siteid;
if (siteid === '2' || siteid === 2) {
var RetailBlvd = '67435';
var Blvd = '2';
}
else {
var RetailBlvd = '67434';
var Blvd = '1';
}
nlapiLogExecution('error', ModelsInit.session.getSiteSettings(['siteid']).siteid);
record.setFieldValue('custentity_customer_customersegments', RetailBlvd);
record.setFieldValue('custentity1', Blvd);
record.setFieldValue('entityid', email);
record.setFieldValue('firstname', Configuration.get('newsletter.genericFirstName'));
record.setFieldValue('lastname', Configuration.get('newsletter.genericLastName'));
record.setFieldValue('email', email);
record.setFieldValue('subsidiary', ModelsInit.session.getShopperSubsidiary());
record.setFieldValue('companyname', Configuration.get('newsletter.companyName'));
record.setFieldValue('globalsubscriptionstatus', 1);
nlapiSubmitRecord(record, true, true);
return this.subscriptionDone;
}
catch (e) {
nlapiLogExecution('error', e);
}
},
})
});