【问题标题】:How to override client-side JavaScript in Share tier?如何在共享层覆盖客户端 JavaScript?
【发布时间】:2017-02-03 07:47:39
【问题描述】:

我的问题从这里开始:Is there a way to control the sorting order in the user's search interface?

我发现我可以使用people-finder.js控制排序顺序

FreeMarker 模板中包含此脚本people-finder.get.html.ftl

<@standalone>
   <@markup id="css" >
      <#-- CSS Dependencies -->
      <@link href="${url.context}/res/components/people-finder/people-finder.css" group="people-finder"/>
   </@>

   <@markup id="js">
      <#-- JavaScript Dependencies -->
      <@script src="${url.context}/res/components/people-finder/people-finder.js" group="people-finder"/>
   </@>

    <@markup id="new-js" action="replace" target="js">
      <#– JavaScript Dependencies –>
      <@script src="${url.context}/res/components/people-finder/people-finder-ext.js" group="people-finder"/>
    </@>

   <@markup id="widgets">
      <@createWidgets group="people-finder"/>
   </@>

   <@markup id="html">
      <@uniqueIdDiv>
         <#assign el=args.htmlid?html>
         <div id="${el}-body" class="people-finder list theme-color-1">
            <div class="title theme-color-2"><label for="${el}-search-text">${msg("title")}</label></div>
            <div class="finder-wrapper">
               <@markup id="searchBar">
               <div class="search-bar theme-bg-color-3">
                  <div class="search-text"><input type="text" id="${el}-search-text" name="-" value="" maxlength="256" tabindex="0" placeholder="${msg('help.title')}"/></div>
                  <div class="search-button alf-colored-button">
                     <span id="${el}-search-button" class="yui-button yui-push-button"><span class="first-child"><button>${msg("button.search")}</button></span></span>
                  </div>
               </div>
               </@markup>

                <@markup id="searchHelp">
               <div id="${el}-help" class="yui-g theme-bg-color-2 help hidden">
                  <span>${msg("help.content")}</span>
               </div>
               </@markup>               

               <@markup id="searchResults">
               <div class="alf-results-wrapper">
                  <div id="${el}-results-info" class="yui-dt-liner theme-bg-color-2 result-info hidden"></div>
                  <div id="${el}-results" class="results hidden"></div>
               </div>
               </@markup>
            </div>
         </div>
      </@>
   </@>
</@>

为了确定所需的功能,我需要重写此脚本并“开发”自己的 - 比如说people-finder-ext.js

据我了解,使用这段代码我可以实现:

<@markup id="new-js" action="replace" target="js">
  <#– JavaScript Dependencies –>
  <@script src="${url.context}/res/components/people-finder/people-finder-ext.js" group="people-finder"/>
</@>

在我的 AMP- 扩展中,我将people-finder-ext.js 放在这里:

/some-customization-share/src/main/amp/web/components/people-finder/people-finder-ext.js

还有修改过的FreeMarker模板people-finder.get.html.ftl我放在这里:

/some-customization-share/src/main/amp/config/alfresco/web-extension/site-webscripts/org/alfresco/components/people-finder/people-finder.get.html.ftl

然后我在嵌入式 Tomcat 上运行我的项目:

mvn integration-test -Pamp-to-war

所以,我发现排序没有按我需要的方式工作。

我观察了共享层和 Alfresco/Repo 层之间的网络流量,发现我的脚本 people-finder-ext.js 没有加载。

构建后我注意到,我的脚本不在\target\amp-war\ 中,而只在\target\amp\ 中。

可能是什么原因?

【问题讨论】:

标签: alfresco alfresco-share alfresco-maven


【解决方案1】:

使用带有 maven sdk 的 Eclips 自定义 alfresco,这将非常适合开发和创建放大器。

使用 maven 设置 Alfresco sdk:Setup Alfresco sdk using maven

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2012-02-07
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-07
    相关资源
    最近更新 更多