繁体   English   中英

SuiteCommerce Advance:创建自定义服务以从Netsuite的后端到骨干视图获取自定义记录

[英]SuiteCommerce Advance: Create Custom Service to fetch the custom record from Netsuite's backend to backbone view

我在netsuite的后端创建了自定义记录,名为Webstore Landing Data。 记录具有以下结构和列

Record Id: customrecord_webstore_category_landing
Coloumns:
    i. custrecord_collection_name
    ii. custrecord_collection_sub_category
    iii. custrecord_collection_url 

并且需要创建服务以在骨干视图上获取此记录。 帮助赞赏。

好的,好问题。 这是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
  1. 在自定义文件夹下创建自定义文件夹(我们的自定义模块)

    Modules/custom/Categorylanding@1.0.0

  2. 在上面的模块下创建SuiteScript文件夹

  3. 在'SuiteScript'文件夹下创建SuiteScript服务,如下所示 - >

FileName&Path: 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();
            }
        });
    }
);
  1. 在SuiteScript文件夹下创建SuiteScript模型,如下所示 - >

FileName&Path: 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_;
      }
    });
  }
)
  1. 创建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"
        ]
    }
}
  1. 更新发行版。 json文件如下

在模块部分下添加模块为

"custom/Categorylanding": "1.0.0",

和依赖关系

"ssp-libraries": {
            "entryPoint": "SCA",
            "dependencies": [

  "CategoryLanguage.ServiceController",
   "CategoryLanguage.Model", 
],
  1. 部署您的代码,一旦完成,您就可以在回电时查看您的数据,您可以按照以下方式调用您的服务

    http://yoursite.com/sca-dev-vinson/services/Categorylanding.Service.ss?c=4515330

  2. 现在剩下的部分是如何在骨干网视图上获取这些数据,为此,请转到您想要此数据的视图

在此之前在相同的文件夹下创建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;
      }
    });
  }
);
  1. 完成此操作后,您可以在任何视图/路由器文件上调用上面的javascript模型以获取骨干视图上的记录数据

定义模式并使用下面的代码

    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

                        });
  1. 现在,您可以在BrowseView(){}上访问您的数据了

var recorddata = this.collection.attributes;

的console.log(recorddata);

并传递它车把。 而已。

如果您需要任何帮助,请告诉我....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM