自定义 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 分发的文件而导致的问题。
最新、最好的方法是创建一个共享模块扩展并覆盖其中的文件,但复制和更改覆盖的方法是最简单的。
我是 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 分发的文件而导致的问题。
最新、最好的方法是创建一个共享模块扩展并覆盖其中的文件,但复制和更改覆盖的方法是最简单的。