Skip to content
Snippets Groups Projects
news-listing.vtl 5.61 KiB
Newer Older
Brad's avatar
Brad committed
## --------------------------------------------------
## SETTING THE DEFAULT NUMBER OF RESULTS ------------
## --------------------------------------------------
#if (!$UtilMethods.isSet($numberOfResults))
  #set($numberOfResults = 20)
#end

## --------------------------------------------------
## SETTING THE SORT ORDER ---------------------------
## --------------------------------------------------
##set ($sortBy = "Article.datePublished desc")
#set ($sortBy = "Article.datePublished desc, modDate desc")
Brad's avatar
Brad committed


## --------------------------------------------------
## SETTING RELATIONSHIP FILTERS ---------------------
## --------------------------------------------------
#if($UtilMethods.isSet($organizationArticle))
	#set($organizationArticleRel = '+Organization-Article:')
	#set($organizationArticleID = $organizationArticle)
Brad's avatar
Brad committed
#end
#if($UtilMethods.isSet($featuredPersonArticle))
	#set($featuredPersonArticleRel = '+Featured-Person:')
	#set($featuredPersonArticleID = $featuredPersonArticle)
Brad's avatar
Brad committed
#end
#if($UtilMethods.isSet($contentLocationArticle))
Brad's avatar
Brad committed
	#set($locationRel = '+Location-Content:')
	#set($locationID = $contentLocationArticle)
Brad's avatar
Brad committed
#end
#if($UtilMethods.isSet($datasetArticle))
Brad's avatar
Brad committed
	#set($datasetRel = '+Dataset-Article:')
	#set($datasetID = $datasetArticle)
Brad's avatar
Brad committed
#end
#if($UtilMethods.isSet($seriesArticle))
Brad's avatar
Brad committed
	#set($seriesRel = '+Series-Article:')
	#set($seriesID = $seriesArticle)
Brad's avatar
Brad committed
#end
#if($UtilMethods.isSet($authorArticle))
Brad's avatar
Brad committed
	#set($authorRel = '+Author-Article:')
	#set($authorID = $authorArticle)
Brad's avatar
Brad committed
#end
Brad's avatar
Brad committed

## news pull
#if($pagination.contains('true'))
Brad's avatar
Brad committed
	## SETTING ITEMS PER PAGE
	#if ($UtilMethods.isSet($itemsPerPage))
		#set($itemsPerPage = $webapi.parseInt($itemsPerPage))
	#else
		#set($itemsPerPage = 20)
	#end

	## GETTING PAGE NUMBER
	#if($UtilMethods.isSet($request.getParameter('page')))
		#set($page = $webapi.parseInt($request.getParameter('page')))
	#else
		#set($page = 1)
	#end

Brad's avatar
Brad committed
	#set($newsListing = $dotcontent.pullPerPage("
		+contentType:Article
		$!{datasetArticleRel}$!{datasetArticleID}
		$!{locationArticleRel}$!{locationArticleID}
		$!{organizationArticleArticleRel}$!{organizationArticleArticleID}
		$!{authorArticleRel}$!{authorArticleID}
		$!{seriesArticleRel}$!{seriesArticleID}
		$!{featuredPersonArticleArticleRel}$!{featuredPersonArticleArticleID}
Brad's avatar
Brad committed
		",$!{page}, $!{itemsPerPage},"$!{sortBy}"
Brad's avatar
Brad committed
	))
Brad's avatar
Brad committed

Brad's avatar
Brad committed
#else
	#set($newsListing = $dotcontent.pull("
		+contentType:Article
		$!{datasetArticleRel}$!{datasetArticleID}
		$!{locationArticleRel}$!{locationArticleID}
		$!{organizationArticleArticleRel}$!{organizationArticleArticleID}
		$!{authorArticleRel}$!{authorArticleID}
		$!{seriesArticleRel}$!{seriesArticleID}
		$!{featuredPersonArticleArticleRel}$!{featuredPersonArticleArticleID}
Brad's avatar
Brad committed
		", $!{numberOfResults},"$!{sortBy}"
Brad's avatar
Brad committed
	))
#end

Brad's avatar
Brad committed
## set domain of urls in listing below
#set($domainCount = $request.getRequestURL().lastIndexOf(":"))
#set($domain = $request.getRequestURL().substring(0,$domainCount))
#if($domain.contains('dev.anr.msu.edu'))
	#set($listingUrl = "http://canr.dev.anr.msu.edu")
#elseif($domain.contains('staging.anr.msu.edu'))
	#set($listingUrl = "http://canr.staging.anr.msu.edu")
#else
	#set($listingUrl = "http://www.canr.msu.edu")
#end

Brad's avatar
Brad committed
<section itemscope itemtype="http://schema.org/Article">
#if ($UtilMethods.isSet($widgetHeadline))
  #if (!$UtilMethods.isSet($headlineType))
    #set ($headlineType = '1')
Brad's avatar
Brad committed
  #end
  <h$!{headlineType}>$!{widgetHeadline}</h$!{headlineType}>
Brad's avatar
Brad committed
#end
#if($newsListing.size() > 0)
Brad's avatar
Brad committed
	<ul class="news">
Brad's avatar
Brad committed
		#foreach($news in $newsListing)
Brad's avatar
Brad committed
			<li class="news-item">
Brad's avatar
Brad committed
				#editContentlet($news.inode)
Brad's avatar
Brad committed
				#if($UtilMethods.isSet($news.image))
Brad's avatar
Brad committed
					<a itemprop="url" href="$listingUrl/news/$news.urlTitle">
Brad's avatar
Brad committed
						<img itemprop="image" class="news-thumb" alt="$news.imageDescription" src="/contentAsset/image/$!{news.image.identifier}/fileAsset/filter/Resize/resize_w/150">
Brad's avatar
Brad committed
					</a>
Brad's avatar
Brad committed
					#if($UtilMethods.isSet($news.caption))
Brad's avatar
Brad committed
						<p class="" itemprop="caption">$news.caption</p>
					#end
				#end

Brad's avatar
Brad committed
				#if($UtilMethods.isSet($headlineType))
					##if headline is set this adds 1 from it
					#set($nameFontSize = $math.add($!{headlineType}, 1).intValue())
				#else
					#set($nameFontSize = '2')
				#end
Brad's avatar
Brad committed
				<h$!{nameFontSize} itemprop="name"><a itemprop="url" href="$listingUrl/news/$news.urlTitle">$news.title</a></h$!{nameFontSize}>
Brad's avatar
Brad committed

Brad's avatar
Brad committed
				#if($UtilMethods.isSet($news.datePublished))
					<p itemprop="datePublished" class="">$date.format('MMMM d, yyyy', $news.datePublished)
Brad's avatar
Brad committed
				#end

Brad's avatar
Brad committed
				#set($related-authors = $dotcontent.pullRelated("Author-Article","$news.identifier",true,10,"person.familyName asc"))
Brad's avatar
Brad committed
				#if($related-authors.size() > 0)
					#foreach($author in $related-authors)
						#if($foreach.count==1)
							<p itemprop="author" class=""> 
						#end
						<a href="$author.urlTitle">$author.givenName $author.familyName</a>#if($foreach.hasNext), #end
						#if(!$foreach.hasNext)
							</p>
Brad's avatar
Brad committed
						#end
					#end
Brad's avatar
Brad committed
				#elseif($news.authorText.length() > 0)
					<p itemprop="author" class="">$news.authorText</p>
Brad's avatar
Brad committed
				#end

Brad's avatar
Brad committed
				#if($UtilMethods.isSet($news.description))
Brad's avatar
Brad committed
					<p itemprop="description">$news.description</p>
				#end
			</li>
		#end
	</ul>
	#if($pagination.contains('true') && $newsListing.totalPages > 1)
		<ul class="pagination">
			#if($newsListing.previousPage)
				<li><a href="$!{VTLSERVLET_URI}?page=$!{math.sub($page, 1)}">&laquo;</a></li>
			#end
			#foreach($i in [1..$newsListing.totalPages])
				<li #if($page == $velocityCount)class="active"#end><a href="$!{VTLSERVLET_URI}?page=${velocityCount}">$velocityCount</a></li>
			#end
			#if($newsListing.nextPage)
				<li><a href="$!{VTLSERVLET_URI}?page=$!{math.add($page, 1)}">&raquo;</a></li>
			#end
		</ul>
	#end
#else
  <p>There are no news stories at this time.</p>
#end
</section>