我们用suitlet创建的默认窗体很丑,我想对其进行设计,但是我没有找到任何方式来设置其默认样式表。我使用内联html来做到这一点,但闪烁。我们能否使用内联html创建完整的表单,而不使用默认值?有没有一种方法可以在没有登录Netsuite的情况下提供可用的Suitelet表单?
1
A
回答
1
如果您试图破解nlobjform
的NetSuite样式表,这可能不是理想的,因为NetSuite可以随时更改该样式表,因为它可能取决于NetSuite的默认DOM。
如果您想要自己的完整样式,您可以在嵌入式HTML中嵌入iframe,然后使用自己的样式表完全设置页面样式。
如果您不希望NetSuite标题和菜单选项也出现,那么我建议您在response
对象中返回完整的HTML和样式表标签。
response.setContentType('HTMLDOC');
response.write(HTML_AS_STRING);
3
正如prasun指出的那样,您可以从Suitelet返回想要的任何原始HTML,包括您自己的完整CSS。我们通常会将HTML和CSS文件放在文件柜中,并在需要动态信息的位置放置特殊标签来处理此问题。 Suitelet然后简单地加载这些文件,相应地替换标签,并返回完整的HTML。简单的例子可能是这个样子:
文件柜/ SuiteScripts /我的项目/ myHtml.html:
<!DOCTYPE html>
<html>
<head>
<title>My Suitelet Report</title>
<!-- This tag will be replaced with the CSS file; unfortunately, NetSuite does
not apply the styles if they are included with a link tag -->
<style>NL_CSS</style>
</head>
<body>
<p id="data-desc"><span id="data-month">NL_MONTH</span> <span id="data-year">NL_YEAR</span></p>
</body>
</html>
文件柜/ SuiteScripts /我的项目/ myStyles.css:
body {
font-size: 1em;
font-family: "Lucida Grande", Verdana, Arial, sans-serif;
margin: 1em 1.5em;
}
p#data-desc {
font-size: 0.85em;
font-weight: bold;
margin: 1em 0;
}
文件柜/ SuiteScripts /我的项目/ mySuitelet.js:
function onRequest(request, response) {
// Load the HTML content
var html = nlapiLoadFile('SuiteScripts/my-project/myHtml.html').getValue();
// Current date
var now = moment();
// Replace the month and year tags with real values
html = html.replace(/NL_MONTH/, moment.months()[now.month()]);
html = html.replace(/NL_YEAR/, now.year());
// Load the CSS file to obtain its URL
file = nlapiLoadFile('SuiteScripts/my-project/myStyles.css');
// Replace the NL tag with the CSS contents
html = html.replace(/NL_CSS/, file.getValue());
response.write(html);
}
相关问题
- 1. 有没有一种方法可以让WiX在每种情况下抑制ICE
- 2. 有没有一种方法可以在没有构建应用程序的情况下练习单元测试?
- 3. 有了SubSonic,有没有一种方法可以在没有外键的情况下表达关系?
- 4. 有没有方法可以在没有GraphQL的情况下使用Relay?
- 5. 有没有一种方法可以在没有onclick事件的情况下使用onclick?
- 6. 有没有一种方法可以告诉DataReader是否在没有调用.Read()的情况下迭代了?
- 7. 有没有一种方法可以在没有iframe覆盖的情况下在Silverlight中显示HTML?
- 8. 有没有一种方法可以在使用swift的alertview中提供验证?
- 9. DynamoDB:有没有一种方法可以在没有LastEvaluatedKey的情况下获取任意页面?
- 10. Git-Stash:有没有一种方法可以防止合并功能在没有rebase的情况下发展?
- 11. 有没有一种方法可以在没有持续推送通知的情况下显示倒计时?
- 12. 有没有一种方法可以在没有_id字段的情况下从MongoDB中检索数据?
- 13. 有没有一种方法可以在没有Composer的情况下自动加载ZF3?
- 14. 我们可以在没有用户登录的情况下将验证提供商链接到Android版的Firebase:
- 15. 有没有一种方法可以在Django中为内联管理员表单提供单独的页面?
- 16. 有没有一种方法可以在不使用中间件的情况下使用scrapy的代理?
- 17. 可以在没有列表的情况下使用LOAD TABLE吗?
- 18. 可以在没有连接表的情况下使用accep_nested_attributes_?
- 19. 我可以在没有用户登录的情况下制作网站吗
- 20. 是否可以在没有成员资格提供者的情况下使用登录状态控制?
- 21. 有没有一种方法可以在不使用flex的情况下在flash中嵌入自定义字体
- 22. 是否可以在没有提交按钮的情况下验证表单?
- 23. 如何在没有提示的情况下登录?
- 24. 有没有一种方法可以提高我简单的textfilter的性能?
- 25. 有没有一种简单的方法来在没有JavaScript的情况下在PHP中获取图像大小?
- 26. 在Netsuite Suitelet中没有缓存.swf
- 27. Linux:有没有一种方法可以在不停止/暂停进程的情况下使用ptrace(SIGSTOP)?
- 28. 有没有一种方法可以在不使用负像素值的情况下轻松进出动画div?
- 29. 有没有一种方法可以在不使用LiveCycle的情况下构建便携式RIA?
- 30. 有没有任何方法可以在没有计划的情况下使用Test :: More中的diag()?
我可以用我自己的形式吗?而不是在上面的例子中使用netsuite。你能举个例子吗? –
'response.setContentType('HTMLDOC'); response.write(HTML_AS_STRING);'使用您的表单HTML字符串值作为'HTML_AS_STRING' – prasun