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

自定义RSS dashlet alfresco-feed.utils.ftl,alfresco,freemarker,alfresco-share,Alfresco,Freemarker,Alfresco Share,我对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

我对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.showtTitle。但它没有效果


ftl正在积极使用item的属性,所以我想也许我可以将自己的属性添加到它,但我无法找到这些对象传递给ftl的位置。宏是否用于包含这些内容?

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

js文件是dashlet的服务器端JavaScript控制器

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

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

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


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

请记住,FTL模板在服务器端处理,而JS在客户端执行,您可以将参数从FTL传递给JS,但不是另一个way@fustaki这是不对的。js文件是web脚本的服务器端JavaScript控制器