我正在为 Liferay 站点上的 Web 内容显示创建一组自定义结构(和匹配的模板)。
为了使站点维护人员更方便,我希望这些模板之一默认抑制外观边框。
我在网上找到了文档和示例,展示了如何禁用嵌入在主题中的 portlet 的边框,但是我没有运气在 WCD 模板中应用这些技术。
这是我在主题中看到的代码:
#set ($VOID = $velocityPortletPreferences.setValue("portlet-setup-show-borders", "false"))
#set ($VOID = $theme.runtime("customportletname_WAR_pluginname", "", $velocityPortletPreferences.toString()))
$velocityPortletPreferences.reset()
以下是我如何将它应用到我的模板:
#set ($VOID = $velocityPortletPreferences.setValue("portlet-setup-show-borders", "false"))
<div class="custom-wcd wcdnormal">
<h2>$title.getData()</h2>
$content.getData()
</div>
$velocityPortletPreferences.reset()
我对它不起作用并不感到惊讶——没有什么类似于将首选项应用于 portlet 的 $theme.runtime 调用,但我也不知道 $theme.runtime 在这一层是否合适,并且如果是,作为第一个参数提供什么值。我怀疑这最后一个是最有可能的替代方案,但我不知道如何将 WCD portlet 识别为 $theme.runtime,也不知道如何跟踪该信息(无论如何我都不是 Java 开发人员) .
并且澄清一下:默认情况下禁用所有 portlet 上的边框是不可接受的,我也无法修改在呈现时使用 journal-article 组件的 Java 控制器。
任何建议表示赞赏。