【发布时间】:2012-08-16 04:02:21
【问题描述】:
我正在为 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 是否适用于此层,如果是,作为第一个参数提供什么值。我怀疑这最后一个是最有可能的替代方案,但我不知道如何识别 $theme.runtime 的 WCD portlet,也不知道如何跟踪该信息(无论如何我都不是 Java 开发人员) .
澄清一下:disable borders on all portlets by default 不接受它,我也无法修改在渲染时使用日志文章组件的 Java 控制器。
感谢任何建议。
【问题讨论】: