SuiteCommerce Advance:创建自定义服务以从 Netsuite 的后端获取自定义记录到 backbone 视图
SuiteCommerce Advance: Create Custom Service to fetch the custom record from Netsuite's backend to backbone view
我在名为 Webstore Landing Data 的 netsuite 后端创建了自定义记录。记录具有以下结构和列
Record Id: customrecord_webstore_category_landing
Coloumns:
i. custrecord_collection_name
ii. custrecord_collection_sub_category
iii. custrecord_collection_url
并且需要创建服务以在 backbone 视图中获取此记录。帮助表示赞赏。
好的,问得好。这是 SCA 中最重要和必需的事情,请检查以下详细信息 -->
注意:以下步骤适用于 SuiteCOmmerce Advance Vision(2016-17) 版本
您需要创建以下内容-->
i. SuiteScript Model
ii. SuiteScript Service
iii.JavaScript Model
iv. JavaScript view
v. JavaScript Template
vi. Update distro.json
在自定义文件夹下创建自定义文件夹(我们的自定义模块)作为
Modules/custom/Categorylanding@1.0.0
在上述模块下创建 SuiteScript 文件夹
在 'SuiteScript' 文件夹下创建 SuiteScript 服务,如下所示 -->
文件名和路径: Modules/custom/Categorylanding@1.0.0/SuiteScript/Categorylanding.ServiceController.js
代码:
define(
'Categorylanding.ServiceController'
, [
'ServiceController'
, 'Categorylanding.Model'
]
, function(
ServiceController
, Categorylanding
)
{
'use strict';
return ServiceController.extend({
name: 'Categorylanding.ServiceController'
, get: function()
{
return Categorylanding.get();
}
});
}
);
- 在 SuiteScript 文件夹下创建 SuiteScript 模型如下-->
文件名和路径:
Modules/custom/Categorylanding@1.0.0/SuiteScript/Categorylanding.Model.js
代码:
define('Categorylanding.Model',
[
'SC.Model'
],
function (SCModel) {
return SCModel.extend({
name: 'Categorylanding',
get: function()
{
var filters = new Array();
var columns = new Array();
columns[0] = new nlobjSearchColumn('custrecord_collection_name');
columns[2] = new nlobjSearchColumn('custrecord_collection_url');
var results = nlapiSearchRecord('customrecord_webstore_category_landing', null, filters, columns);
var results_ = JSON.stringify(results);
return results_;
}
});
}
)
- 已创建 ns 包文件
文件名和路径:
Modules/custom/Categorylanding@1.0.0/ns.package.json
代码:
{
"gulp": {
"javascript": [
"JavaScript/*"
],
"ssp-libraries": [
"SuiteScript/*.js"
],
"autogenerated-services": {
"Categorylanding.Service.ss": "Categorylanding.ServiceController"
},
"templates": [
"Templates/*"
],
"images": [
"Images/*"
],
"sass": [
"Sass/*.scss"
],
"configuration": [
"Configuration/*.json"
]
}
}
- 更新发行版。 json 文件如下
在模块部分下添加您的模块
"custom/Categorylanding": "1.0.0",
和
中的依赖项
"ssp-libraries": {
"entryPoint": "SCA",
"dependencies": [
"CategoryLanguage.ServiceController",
"CategoryLanguage.Model",
],
部署您的代码,一旦完成,您就可以在 return 调用时看到您的数据,您可以按如下方式调用您的服务
http://yoursite.com/sca-dev-vinson/services/Categorylanding.Service.ss?c=4515330
现在剩下的部分是如何在 backbone 视图中获取此数据,为此请转到您想要此数据的视图
在此之前在与下面相同的文件夹下创建 Javascript 模型
文件名和路径 :
Modules/custom/Categorylanding@1.0.0/JavaScript/Categorylanding.Model.js
代码:
define('Categorylanding.Model',
[
'Backbone',
'underscore'
],
function (Backbone, _) {
return Backbone.Model.extend(
{
url: function()
{ var urlRoot = _.getAbsoluteUrl('services/Categorylanding.Service.ss');
return urlRoot;
}
});
}
);
- 完成后,您可以在任何 view/router 文件上调用上述 javascript 模型以获取 backbone 视图
上的记录数据
定义模式并使用下面的代码
var collection = new CategorylandingModel();
var view = new BrowseView({
translator: translator
, translatorConfig: self.translatorConfig
, application: self.application
, collection: collection
});
collection.fetch().done(function(data) //again fetch Instagram service
{
console.log(data) //your service data will log here
});
- 现在您可以像
一样访问 BrowseView(){} 上的数据
var recorddata = this.collection.attributes;
console.log(记录数据);
并传递它的车把。就是这样。
如果您需要任何帮助,请告诉我....
我在名为 Webstore Landing Data 的 netsuite 后端创建了自定义记录。记录具有以下结构和列
Record Id: customrecord_webstore_category_landing
Coloumns:
i. custrecord_collection_name
ii. custrecord_collection_sub_category
iii. custrecord_collection_url
并且需要创建服务以在 backbone 视图中获取此记录。帮助表示赞赏。
好的,问得好。这是 SCA 中最重要和必需的事情,请检查以下详细信息 -->
注意:以下步骤适用于 SuiteCOmmerce Advance Vision(2016-17) 版本
您需要创建以下内容-->
i. SuiteScript Model
ii. SuiteScript Service
iii.JavaScript Model
iv. JavaScript view
v. JavaScript Template
vi. Update distro.json
在自定义文件夹下创建自定义文件夹(我们的自定义模块)作为
Modules/custom/Categorylanding@1.0.0
在上述模块下创建 SuiteScript 文件夹
在 'SuiteScript' 文件夹下创建 SuiteScript 服务,如下所示 -->
文件名和路径: Modules/custom/Categorylanding@1.0.0/SuiteScript/Categorylanding.ServiceController.js
代码:
define(
'Categorylanding.ServiceController'
, [
'ServiceController'
, 'Categorylanding.Model'
]
, function(
ServiceController
, Categorylanding
)
{
'use strict';
return ServiceController.extend({
name: 'Categorylanding.ServiceController'
, get: function()
{
return Categorylanding.get();
}
});
}
);
- 在 SuiteScript 文件夹下创建 SuiteScript 模型如下-->
文件名和路径: Modules/custom/Categorylanding@1.0.0/SuiteScript/Categorylanding.Model.js
代码:
define('Categorylanding.Model',
[
'SC.Model'
],
function (SCModel) {
return SCModel.extend({
name: 'Categorylanding',
get: function()
{
var filters = new Array();
var columns = new Array();
columns[0] = new nlobjSearchColumn('custrecord_collection_name');
columns[2] = new nlobjSearchColumn('custrecord_collection_url');
var results = nlapiSearchRecord('customrecord_webstore_category_landing', null, filters, columns);
var results_ = JSON.stringify(results);
return results_;
}
});
}
)
- 已创建 ns 包文件
文件名和路径:
Modules/custom/Categorylanding@1.0.0/ns.package.json
代码:
{
"gulp": {
"javascript": [
"JavaScript/*"
],
"ssp-libraries": [
"SuiteScript/*.js"
],
"autogenerated-services": {
"Categorylanding.Service.ss": "Categorylanding.ServiceController"
},
"templates": [
"Templates/*"
],
"images": [
"Images/*"
],
"sass": [
"Sass/*.scss"
],
"configuration": [
"Configuration/*.json"
]
}
}
- 更新发行版。 json 文件如下
在模块部分下添加您的模块
"custom/Categorylanding": "1.0.0",
和
中的依赖项"ssp-libraries": {
"entryPoint": "SCA",
"dependencies": [
"CategoryLanguage.ServiceController",
"CategoryLanguage.Model",
],
部署您的代码,一旦完成,您就可以在 return 调用时看到您的数据,您可以按如下方式调用您的服务
http://yoursite.com/sca-dev-vinson/services/Categorylanding.Service.ss?c=4515330
现在剩下的部分是如何在 backbone 视图中获取此数据,为此请转到您想要此数据的视图
在此之前在与下面相同的文件夹下创建 Javascript 模型
文件名和路径 :
Modules/custom/Categorylanding@1.0.0/JavaScript/Categorylanding.Model.js
代码:
define('Categorylanding.Model',
[
'Backbone',
'underscore'
],
function (Backbone, _) {
return Backbone.Model.extend(
{
url: function()
{ var urlRoot = _.getAbsoluteUrl('services/Categorylanding.Service.ss');
return urlRoot;
}
});
}
);
- 完成后,您可以在任何 view/router 文件上调用上述 javascript 模型以获取 backbone 视图 上的记录数据
定义模式并使用下面的代码
var collection = new CategorylandingModel();
var view = new BrowseView({
translator: translator
, translatorConfig: self.translatorConfig
, application: self.application
, collection: collection
});
collection.fetch().done(function(data) //again fetch Instagram service
{
console.log(data) //your service data will log here
});
- 现在您可以像 一样访问 BrowseView(){} 上的数据
var recorddata = this.collection.attributes;
console.log(记录数据);
并传递它的车把。就是这样。
如果您需要任何帮助,请告诉我....