自定义 RSS dashlet alfresco - feed.utils.ftl

Customize RSS dashlet alfresco - feed.utils.ftl

我是 freemarker 的新手。

我不想在 RSS dashlet 的配置中添加更多选项,并使用它的值来决定是否应该隐藏 RSS 项目的标题等。

我找到了负责显示标题的文件feed.utils.ftl。

<#macro renderItem item target="_self">
<div class="headline">
<#if item.image??>
   <img align="left" src="${item.image}" alt="" style="padding-right:10px"/>
</#if>
   <h4>
      <#if (item.link?exists)>
        <a href="${item.link}" target="${target}" class="theme-color-1">${item.title}</a>
      <#else>
        ${item.title}
      </#if>
   </h4>
   <p>${item.description}</p>
<#if item.attachment??>
   <div><img src="${url.context}/res/images/filetypes32/${item.attachment.type}.gif"/><a href="${item.attachment.url}">${item.attachment.name}</a></div>
</#if>
   <br />
</div>
</#macro>

有对应的js文件,feed.utils.js。我想我可以从那里向 ftl 传递一个参数,例如 "model.showTitle"。但是没有效果。

ftl 正在积极使用 "item" 的属性,所以我想也许我可以向其中添加自己的 属性,但我无法找到这些 objects 的传递位置到ftl。宏是用来包含这些的吗?

如果您查看 share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/dashlets,您将找到实现 RSS dashlet 的网络脚本文件。它们是以 rssfeed.

开头的文件

rssfeed.get.js 文件是 dashlet 的服务器端 JavaScript 控制器。

如果您要在该脚本的主要函数中添加一行以设置 model.showTitle,您可以从该脚本的 freemarker 模板访问该值。

实现dashlet的freemarker文件是rssfeed.get.html.ftl.

正确覆盖这些文件的一种方法是将它们复制到 web-extension,然后复制到下面完全相同的包结构。然后您可以进行任何您想要的更改,而不必担心因更改随 Alfresco 分发的文件而导致的问题。

最新、最好的方法是创建一个共享模块扩展并覆盖其中的文件,但复制和更改覆盖的方法是最简单的。