SuiteCommerce Advanced - 在PDP上显示自定义记录

问题描述 投票:0回答:2

我希望创建一个功能,用户可以从PDP上的选项卡下载与该项目相关的任何可用文档。

到目前为止,我已经创建了一个名为Documentation(customrecord_documentation)的自定义记录,其中包含以下字段:

  • 相关项目:custrecord_documentation_related_item
  • 键入:custrecord_documentation_type
  • 文件:custrecord_documentation_document
  • 说明:custrecord_documentation_description
  • 相关项目ID:custrecord_documentation_related_item_id

该功能在NetSuite的后端工作正常,我可以将文档分配给Inventory项目。绊脚石正试图将数据提取到SCA网上商店的前端。

任何有关上述的帮助将非常感激。

backbone.js netsuite suitecommerce
2个回答
0
投票

我有很多方面来这里。

一种方法是创建一个返回文档名称和URL的JSON的Suitelet。网址可以是真正的Netsuite网址,也可以是您的suitelet的网址,您可以使用action=doc&id=_docid_查询参数设置套件以返回文档。

将目标<div id="relatedDocs"></div>添加到item_details.tpl

在你的ItemDetailsViewinit_Plugins添加

$.getJSON('app/site/hosting/scriptlet.nl...?action=availabledoc').
    then(function(data){
        var asHtml = format(data); //however you like
        $("#relatedDocs").html(asHtml);
    });

您也可以去整个模块路线。如果您创建了第三方模块DocsView,那么您可以将DocsView作为子视图添加到ItemDetailsView

这是一个更多的参与,所以首先尝试上面的选项,看看它是否符合您的需求。好消息是你可以用这种方法忽略Backbone。您可以使用service.ss而不是suitelet使其更便携。您可以为该函数创建自己的ssp应用程序,这样您就不必处理SCA url结构。


0
投票

已经有一段时间了,但您应该能够从相关的Backbone View类中访问JSON数据。从那里,在返回上下文中,输出您想要的值。希望您扩展原始类,而不是覆盖/更改核心代码:P。

与PDP关联的模型应包含您正在寻找的所有JSON数据。 Model.get('...')一种语法。

我建议不要使用Suitelets,因为这是额外的执行时间,而且速度稍慢。

我相信你知道,但你需要将文件设置为公开的。

希望这有帮助,谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.