Liferay自定义字段来自速度模板中的Web内容

时间:2015-09-09 18:28:52

标签: liferay liferay-6 liferay-velocity

我需要在portal_normal.vm中设置一些自定义标记,这些标记在每个Web内容中定义。

我的情况:

  1. 转到控制面板 - >自定义字段 - >网页内容
  2. 创建名为“custom_metas”的新自定义字段
  3. 将此代码放入portal_normal.vm <meta property="og:title" content="$themeDisplay.getScopeGroup().getExpandoBridge().getAttribute('custom_metas')" />
  4. 此代码仅在站点(而非Web内容)中创建自定义字段时有效。当我在网页内容中创建显示为纯文本时。

    在我的portal-ext.properties中输入:

    journal.template.velocity.restricted.variables=
    

    没有任何改变。

    最后,我尝试在liferay论坛中给出的这个解决方案,但不起作用。注意:$ reserved-article-id.data不会打印任何内容。

    #set ($journalArticleLocalService = $serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService"))
    #set ($ja = $journalArticleLocalService.getArticle($getterUtil.getLong($groupId),$getterUtil.getString($reserved-article-id.data)))
    #set ($resourceprimKey = $ja.getResourcePrimKey())
    
    #set ($assetEntryLocalService = $serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService"))
    #set ($assetEntry = $assetEntryLocalService.getEntry("com.liferay.portlet.journal.model.JournalArticle", $resourceprimKey))
    
    #set($JournalArticleResourceLocalService = $serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleResourceLocalService"))
    
    #set ($journalArticleResource = $JournalArticleResourceLocalService.getArticleResource($assetEntry.getClassPK()))
    
    #set($JournalArticleLocalService = $serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService"))
    
    #set ($journalArticle = $JournalArticleLocalService.getArticle($getterUtil.getLong($groupId), "$journalArticleResource.getArticleId()"))
    
    #set ($custom = $journalArticle.getExpandoBridge().getAttribute("custom_metas"))
    

    $ custom显示为纯文本

0 个答案:

没有答案