Liferay资产发布者条目变量在adt中分配给自身
我使用的是Liferay 7,通过查看asset publisher的默认adt,我在丰富的摘要adt中看到了代码的以下部分Liferay资产发布者条目变量在adt中分配给自身,liferay,freemarker,liferay-7,Liferay,Freemarker,Liferay 7,我使用的是Liferay 7,通过查看asset publisher的默认adt,我在丰富的摘要adt中看到了代码的以下部分 <#list entries as entry> <#assign entry = entry assetRenderer = entry.getAssetRenderer() entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) viewURL =
<#list entries as entry>
<#assign
entry = entry
assetRenderer = entry.getAssetRenderer()
entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale))
viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry)
/>
...
在GitHub上看到它
是否有任何理由进行entry=entry赋值
在我看来,这不应该是必要的,我是否遗漏了一些在freemarker这样的作业中可能需要这样做的原因
[编辑]
考虑到即使在列表循环之外也会定义这种方式的条目,为什么要这样做?有必要吗
在这个模板中,实际上没有对这个变量的更多引用。因此,在创建新的自定义adt时是否需要此赋值?因为assign在当前模板的命名空间中创建/写入变量,而list在循环的作用域中创建变量更具体、更窄的作用域,该语句将实体从循环作用域复制到更宽的模板命名空间作用域。如果模板中真的需要它,我不知道;查找对该条目的引用或列表之外的include/imported-d模板。引用的部分不需要它 这是由于在该文件底部的循环之外使用了宏