将Html资源文件打包发布到Salesforce1或Site

201 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

场景描述

在POC环节,经常需要做些酷炫到页面,为客户演示,为了便于访问,通常会将Html静态页面打包上传到Salesforce站点或Salesforce1上。

方法介绍

  1. 编写本地静态文件,打包应用后将zip包上传至静态资源;
  2. 通用到两种方式编写VF index页面: a. 在VF中直接引用静态资源到index.html
<apex:page docType="html-5.0" sidebar="false" showHeader="false" standardStylesheets="false" 
      action="{!URLFOR($Resource.ShangpinhuiZip, 'shangpinhui/index.html')}">
</apex:page>

b. 直接将index页面改造成visualforce.page,在page里面引用静态资源中的link/js

<apex:page docType="html-5.0" sidebar="false" showHeader="false" standardStylesheets="false" >
    <head>
        <meta charset="utf-8"/>
        <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
        <title>库存查询</title>
        <apex:stylesheet value="{!URLFOR($Resource.LY_POC, 'LY_POC/css/bootstrap.min.css')}"/>
        <apex:stylesheet value="{!URLFOR($Resource.LY_POC, 'LY_POC/css/index.css')}"/>
    </head>
    <body>
        <div class="fixed">
            <span>库存列表(共6条)</span>
            <a href="javascript:void(0)" class="glyphicon glyphicon-filter filter"></a>
        </div>
        <div class="container">
            <div class="search" style="display: none;">
                <p><label for="name">备件名称:</label><input id="name" type="text"/></p>
                <p><label for="num">备件号:</label><input id="num" type="text"/></p>
                <p><label for="warehouse">仓库名称:</label><input id="warehouse" type="text"/></p>
                <button class="btn btn-default">库存查询</button>
            </div>
            <ul class="wrap">
                <li class="item">
                    <p class="name">Hydrus&Centaurus&P1&P3.0</p>
                    <p class="level">库存分类级别:B<span>当前库存:12000</span></p>
                    <p class="warehouse">仓库:  哈尔滨子库</p>
                    <p class="spare_part">备件:80300698<span>替换备件:80509138</span></p>
                    <p class="desc">备件描述:CT病床_水平拖链 CT_Couch_Horizontal Drag Chain</p>
                </li>
                <li class="item">
                    <p class="name">Hydrus&Centaurus&P1&P3.0</p>
                    <p class="level">库存分类级别:A<span>当前库存:26</span></p>
                    <p class="warehouse">仓库:杭州子库</p>
                    <p class="spare_part">备件:80509135<span>替换备件:80509138</span></p>
                    <p class="desc">备件描述:CT病床_水平驱动器 CT_Couch_Horizontal Controller</p>
                </li>
                <li class="item">
                    <p class="name">P1&Hydrus</p>
                    <p class="level">库存分类级别:C<span>当前库存:0</span></p>
                    <p class="warehouse">仓库:  哈尔滨子库</p>
                    <p class="spare_part">备件:80100010<span>替换备件:80509138</span></p>
                    <p class="desc">备件描述:CTU16球管</p>
                </li>
                <li class="item">
                    <p class="name">Hydrus&Centaurus&P1&P3.0</p>
                    <p class="level">库存分类级别:B<span>当前库存:36800</span></p>
                    <p class="warehouse">仓库:  中国总库</p>
                    <p class="spare_part">备件:80100010<span>替换备件:80509138</span></p>
                    <p class="desc">备件描述:CT病床_水平拖链 CT_Couch_Horizontal Drag Chain</p>
                </li>
                <li class="item">
                    <p class="name">Hydrus&Centaurus&P1&P3.0</p>
                    <p class="level">库存分类级别:A<span>当前库存:26</span></p>
                    <p class="warehouse">仓库:杭州子库</p>
                    <p class="spare_part">备件:80509135<span>替换备件:80509138</span></p>
                    <p class="desc">备件描述:CT病床_水平驱动器 CT_Couch_Horizontal Controller</p>
                </li>
                <li class="item">
                    <p class="name">P1&Hydrus</p>
                    <p class="level">库存分类级别:C<span>当前库存:0</span></p>
                    <p class="warehouse">仓库:  哈尔滨子库</p>
                    <p class="spare_part">备件:80100010<span>替换备件:80509138</span></p>
                    <p class="desc">备件描述:CT病床_水平拖链 CT_Couch_Horizontal Drag Chain</p>
                </li>
            </ul>
        </div>
        <apex:includeScript value="{!URLFOR($Resource.LY_POC, 'LY_POC/js/jquery.js')}"/>
        <apex:includeScript value="{!URLFOR($Resource.LY_POC, 'LY_POC/js/bootstrap.min.js')}"/>
        <script type="text/javascript">
            $(function(){
                $(".filter").click(function(){
                    $(".search").toggle();
                });
            });
        </script>
    </body>
</apex:page>
  1. 将index page配置成Visualforce Tab

  2. 将该Tab拖到Salesforce1 Menu中展示: 如果没见到你配置的Tab,操作如下图:
    再次查看Salesforce Navigation,并移到右边:
    站点操作:
    在站点中将主页设置为index.page即可: