This error will show if i have created extension on my account and shopping, but we need to do changes on my account only then we will get error as module not found in shopping page using this method, we can solve this error in same extension.
We can create a new JavaScript and rename the file as pdpExtension.pdpExtension-myaccount.js. and we should add the name in manifest entry point so this code will reflect only on My account page.
Manifest file:
{
"name": "pdpExtension",
"fantasyName": "pdpExtension",
"vendor": "JJ",
"version": "1.0.3",
"type": "extension",
"target": "SCA,SCS",
"target_version": {
"SCA": ">=21.2.0",
"SCS": ">=21.2.0"
},
"description": "Pdp extension",
"skins": [],
"assets": {
"img": {
"files": [
"img/loading1.gif"
]
},
"fonts": {
"files": []
},
"services": {
"files": [
"services/pdpExtension.Service.ss"
]
}
},
"configuration": {
"files": [
"Modules/pdpExtension/Configuration/pdpExtension.json"
]
},
"sass": {
"entry_points": {
"shopping": "Modules/pdpExtension/Sass/_pdpextension-pdpextension.scss",
"myaccount": "Modules/pdpExtension/Sass/_pdpextension-pdpextension.scss",
"checkout": "Modules/pdpExtension/Sass/_pdpextension-pdpextension.scss"
},
"files": [
"Modules/pdpExtension/Sass/_pdpextension-pdpextension.scss"
]
},
"templates": {
"application": {
"shopping": {
"files": [
"Modules/pdpExtension/Templates/jj_pdpextension_pdpextension.tpl"
]
},
"myaccount": {
"files": [
"Modules/pdpExtension/Templates/jj_pdpextension_pdpextension.tpl"
]
},
"checkout": {
"files": [
"Modules/pdpExtension/Templates/jj_pdpextension_pdpextension.tpl"
]
}
}
},
"javascript": {
"entry_points": {
"shopping": "Modules/pdpExtension/JavaScript/JJ.pdpExtension.pdpExtension.js",
"myaccount": "Modules/pdpExtension/JavaScript/JJ.pdpExtension.pdpExtension-myaccount.js",
"checkout": "Modules/pdpExtension/JavaScript/pdpExtension.Checkout.View.js"
},
"application": {
"shopping": {
"files": [
"Modules/pdpExtension/JavaScript/JJ.pdpExtension.pdpExtension.js",
"Modules/pdpExtension/JavaScript/pdpExtension.View.js",
"Modules/pdpExtension/JavaScript/JJ.pdpExtension.pdpExtension.Model.js",
"Modules/pdpExtension/JavaScript/JJ.LiquidpixelLibrary.js"
]
},
"myaccount": {
"files": [
"Modules/pdpExtension/JavaScript/JJ.pdpExtension.pdpExtension-myaccount.js",
"Modules/pdpExtension/JavaScript/pdpExtension.View.js",
"Modules/pdpExtension/JavaScript/JJ.pdpExtension.pdpExtension.Model.js",
"Modules/pdpExtension/JavaScript/JJ.LiquidpixelLibrary.js"
]
},
"checkout": {
"files": [
"Modules/pdpExtension/JavaScript/JJ.pdpExtension.pdpExtension.Model.js",
"Modules/pdpExtension/JavaScript/JJ.LiquidpixelLibrary.Checkout.js",
"Modules/pdpExtension/JavaScript/pdpExtension.Checkout.View.js"
]
}
}
},
"ssp-libraries": {
"entry_point": "Modules/pdpExtension/SuiteScript/pdpExtension.ServiceController.js",
"files": [
"Modules/pdpExtension/SuiteScript/JJ.pdpExtension.pdpExtension.js",
"Modules/pdpExtension/SuiteScript/pdpExtension.ServiceController.js"
]
},
"local_folder": "Workspace\\pdpExtension",
"suitescript2": {
"files": []
}
}
JavaScript file:
_.extend(TransactionLineViewsCellActionableView.prototype, {
events: _.extend({}, TransactionLineViewsCellActionableView.prototype.events, {
'change #quantity': 'updateQuantity',
'click #addToCartReorder': 'addToCart'
}),
addToCart: function (e) {
const $form = this.$(e.target).closest('[data-type="order-item"]');
const $alert_placeholder = $form.find('[data-type=alert-placeholder]');
var itemQuantity = this.model.get('item').get ('quantity');
if (itemQuantity) {
}else{
itemQuantity = this.model.get('item').get('onlinecustomerprice_detail').priceschedule[0].maximumquantity;
}
var cart = container.getComponent("Cart");
var internalid = this.model.get('item').id;
cart.addLines({
lines: [
{
quantity: parseInt(itemQuantity),
item: {
internalid: internalid
}
}
]
});
let message;
message =
quantity > 1
? Utils.translate(
'$(0) Items successfully added to <a href="#" data-touchpoint="viewcart">your cart</a><br/>',
quantity
)
: Utils.translate(
'Item successfully added to <a href="#" data-touchpoint="viewcart">your cart</a><br/>'
);
const alert = new GlobalViewsMessageView({
message: message,
type: 'success',
closable: true
});
alert.show($alert_placeholder, 6000);
},
updateQuantity: function (e) {
const $element = this.$(e.target.value);
const quantity_input = $element.parent().parent().find('input[name="quantity"]');
quantity_input.val(e.target.value).trigger('change')
this.model.attributes.item.attributes.quantity = e.target.value;
},
getContext: _.wrap(TransactionLineViewsCellActionableView.prototype.getContext, function getContext(fn) {
var context = fn.apply(this, _.toArray(arguments).slice(1));
if (this.model.attributes.item.attributes.onlinecustomerprice_detail.priceschedule) {
context.quantityPricing = true;
}
return context;
})
});
_.extend(ReorderItemsActionsAddToCartView.prototype, {
getContext: _.wrap(ReorderItemsActionsAddToCartView.prototype.getContext, function getContext(fn) {
var context = fn.apply(this, _.toArray(arguments).slice(1));
if (this.model.attributes.item.attributes.onlinecustomerprice_detail.priceschedule) {
context.quantityPricing = true;
}
return context
})
});
}
};
});