自定义RSS dashlet alfresco-feed.utils.ftl
我对freemarker不熟悉 我不想在RSS dashlet的配置中添加更多选项,并使用它的值来决定是否应该隐藏RSS项目的标题 我找到了负责显示标题的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
<#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控制器