Templates 如何访问日期字段并在Liferay应用程序显示模板(ADT)中显示
我创建了一个基本上用于收集新闻文章信息的结构。其中一个字段是文章的日期。如图所示: 我从资产发布器中选择此结构,填写字段并保存。然后我尝试查看资产发布者所在页面上的字段。我可以使用应用程序显示模板(ADT)访问和显示除日期以外的所有字段!我在互联网上搜寻答案,并向社区寻求帮助 这是我用来选择和格式化代码的应用程序显示模板的代码 *免责声明:我不是java程序员,所以任何额外的解释都会非常有用Templates 如何访问日期字段并在Liferay应用程序显示模板(ADT)中显示,templates,liferay,structure,adt,velocity,Templates,Liferay,Structure,Adt,Velocity,我创建了一个基本上用于收集新闻文章信息的结构。其中一个字段是文章的日期。如图所示: 我从资产发布器中选择此结构,填写字段并保存。然后我尝试查看资产发布者所在页面上的字段。我可以使用应用程序显示模板(ADT)访问和显示除日期以外的所有字段!我在互联网上搜寻答案,并向社区寻求帮助 这是我用来选择和格式化代码的应用程序显示模板的代码 *免责声明:我不是java程序员,所以任何额外的解释都会非常有用 <div class="container news-listing"> <d
<div class="container news-listing">
<div class="row">
<div class="span9">
#if (!$entries.isEmpty())
#foreach ($entry in $entries)
#set($renderer = $entry.getAssetRenderer() )
#set($className = $renderer.getClassName() )
#if( $className == "com.liferay.portlet.journal.model.JournalArticle" )
#set( $journalArticle = $renderer.getArticle() )
#set( $document = $saxReaderUtil.read($journalArticle.getContent()) )
#set( $rootElement = $document.getRootElement() )
## FETCH Title
#set( $xPathSelector = $saxReaderUtil.createXPath("dynamic-element[@name='newstitle']") )
#set( $title = $xPathSelector.selectSingleNode($rootElement).getStringValue())
## FETCH image
#set( $xPathSelector = $saxReaderUtil.createXPath("dynamic-element[@name='featureimage']") )
#set( $img = $xPathSelector.selectSingleNode($rootElement).getStringValue())
## FETCH FullDescription
#set( $xPathSelector = $saxReaderUtil.createXPath("dynamic-element[@name='newsfulldescription']") )
#set( $fulldesc = $xPathSelector.selectSingleNode($rootElement).getStringValue() )
## FETCH ShortDescription
#set( $xPathSelector = $saxReaderUtil.createXPath("dynamic-element[@name='newsshortdescription']") )
#set( $shortdesc = $xPathSelector.selectSingleNode($rootElement).getStringValue() )
## FETCH date
#set( $xPathSelector = $saxReaderUtil.createXPath("dynamic-element[@name='articleDate']") )
#set( $datetest = $xPathSelector.selectSingleNode($rootElement).getStringValue() )
## FETCH Group
#set( $xPathSelector = $saxReaderUtil.createXPath("dynamic-element[@name='group']") )
#set( $Group = $xPathSelector.selectSingleNode($rootElement).getStringValue())
#set( $link = $assetPublisherHelper.getAssetViewURL($renderRequest, $renderResponse, $entry) )
#if ("$assetLinkBehavior" != "showFullContent")
#set( $link = $renderer.getURLViewInContext($renderRequest, $renderResponse, $link) )
#end
##$entry.getExpandoBridge().getAttributeNames()
$entry.date.getClass().getName()
<div class="listing">
<img src="$img" alt="$img" class="thumbnail">
<div class="news-info">
<div class="news-date">
<span>$datetest</span> <br/>
</div>
<p class="news-category">Announcement</p>
<h2>$title</h2>
<p>$shortdesc</br><a href="$link">Read More »</a></p>
</div>
</div>
#end
#end
#end
</div>
</div>
</div>
#if(!$entries.isEmpty())
#foreach($entries中的条目)
#set($renderer=$entry.getAssetTrenderer())
#set($className=$renderer.getClassName())
#if($className==“com.liferay.portlet.journal.model.JournalArticle”)
#set($journalaarticle=$renderer.getArticle())
#set($document=$saxReaderUtil.read($journalaarticle.getContent()))
#set($rootElement=$document.getRootElement())
##获取标题
#set($xPathSelector=$saxReaderUtil.createXPath(“动态元素[@name='newsttitle']))
#set($title=$xPathSelector.selectSingleNode($rootElement.getStringValue())
##获取图像
#set($xPathSelector=$saxReaderUtil.createXPath(“动态元素[@name='featureimage']))
#set($img=$xPathSelector.selectSingleNode($rootElement.getStringValue())
##获取完整描述
#set($xPathSelector=$saxReaderUtil.createXPath(“动态元素[@name='newsfulldescription']))
#set($fulldesc=$xPathSelector.selectSingleNode($rootElement.getStringValue())
##获取简短描述
#set($xPathSelector=$saxReaderUtil.createXPath(“动态元素[@name='newshortdescription']))
#set($shortdesc=$xPathSelector.selectSingleNode($rootElement.getStringValue())
##提取日期
#set($xPathSelector=$saxReaderUtil.createXPath(“动态元素[@name='articleDate']))
#set($datetest=$xPathSelector.selectSingleNode($rootElement.getStringValue())
##取数组
#set($xPathSelector=$saxReaderUtil.createXPath(“动态元素[@name='group']))
#set($Group=$xPathSelector.selectSingleNode($rootElement.getStringValue())
#set($link=$assetPublisherHelper.getAssetViewURL($renderRequest,$renderResponse,$entry))
#如果(“$assetLinkBehavior”!=“showFullContent”)
#set($link=$renderer.getURLViewInContext($renderRequest,$renderResponse,$link))
#结束
##$entry.getExpandoBridge().getAttributeNames()
$entry.date.getClass().getName()
$datetest
公告
$title
$shortdesc
#结束
#结束
#结束
模板编辑器(至少在Liferay 7中)允许您通过单击字段来添加字段。以下是此项添加到模板中的内容:
免费标记:
<#assign articleDate_Data = getterUtil.getString(articleDate.getData())>
<#if validator.isNotNull(articleDate_Data)>
<#assign articleDate_DateObj = dateUtil.parseDate("yyyy-MM-dd", articleDate_Data, locale)>
${dateUtil.getDate(articleDate_DateObj, "dd MMM yyyy - HH:mm:ss", locale)}
</#if>
刚刚试过这个。我在6.2中(如果我没有提到,很抱歉)。我没有提供日期数据。不知道问题是什么。
#set ($articleDate_Data = $getterUtil.getString($articleDate.getData()))
#if ($validator.isNotNull($articleDate_Data))
#set ($articleDate_DateObj = $dateUtil.parseDate("yyyy-MM-dd",$articleDate_Data, $locale))
$dateUtil.getDate($articleDate_DateObj, "dd MMM yyyy - HH:mm:ss", $locale)
#end