Skip to content
Snippets Groups Projects
events-listing.vtl 5.41 KiB
Newer Older
Brad's avatar
Brad committed
##----
## set todays date to show date ranges
##----
#set($today = $date.format('yMMdd',$date))

##----
## sets future date
##----
## Get a java Calendar
#set($x = $date.calendar)
## Add 1 year (hours=int code 1)
$x.add(1,1)
## format future date
#set($future = $date.format('yMMdd',$x))

## --------------------------------------------------
## SETTING THE DEFAULT NUMBER OF RESULTS ------------
## --------------------------------------------------
#if (!$UtilMethods.isSet($numberOfResults))
  #set($numberOfResults = 100)
#end

## --------------------------------------------------
## FILTER BY CATEGORIES -----------------------------
## --------------------------------------------------
#set($catsQuery = "")
#foreach ($catInode in $topic)
  #if ($velocityCount == 1)
    #set($catsQuery = "categories:$categories.getCategoryByInode($catInode).categoryVelocityVarName")
  #else
    #set($catsQuery = "$catsQuery categories:$categories.getCategoryByInode($catInode).categoryVelocityVarName")
  #end
#end
#if ($UtilMethods.isSet($catsQuery))
  #set($catsQuery = "+($catsQuery)")
#end

#set($ignoreQuery="")
#if($UtilMethods.isSet($URLMapContent.inode))

  #set($ignoreQuery="-inode:$URLMapContent.inode")
#end


## --------------------------------------------------
## FILTERS BY TAGS ----------------------------------
## --------------------------------------------------
#set($tagsQuery = "")
#if ($UtilMethods.isSet($tagsFilter))
  #foreach ($tag in $tagsFilter.split(','))
    #if ($velocityCount == 1)
      #set($tagsQuery = "+calendarEvent.tags:$tag")
    #else
      #set($tagsQuery = "$tag +calendarEvent.tags:$tag")
    #end
  #end
#end


## --------------------------------------------------
## SETTING PAGINATED RESULTS ------------------------
## --------------------------------------------------
#if($pagination.contains('true'))
  ## SETTING ITEMS PER PAGE
  #if ($UtilMethods.isSet($itemsPerPage))
    #set($itemsPerPage = $webapi.parseInt($itemsPerPage))
  #else
    #set($itemsPerPage = 5)
  #end

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

#if($pagination.contains('true'))
  #set($eventsListing = $dotcontent.pullPerPage("+contentType:calendarEvent +(conhost:$host.identifier) +calendarEvent.endDate:[${today}* TO ${future}*] $!{catsQuery} $!{tagsQuery} ${ignoreQuery}",$!{page},$!{itemsPerPage},"calendarEvent.startDate"))
#else
  #set($eventsListing = $dotcontent.pull("+contentType:calendarEvent +(conhost:$host.identifier) +calendarEvent.endDate:[${today}* TO ${future}*] $!{catsQuery} $!{tagsQuery} ${ignoreQuery}",$!{numberOfResults},"calendarEvent.startDate"))
#end

#if ($UtilMethods.isSet($headline))
    #if (!$UtilMethods.isSet($headlineFontSize))
      #set ($headlineFontSize = '1')
    #end
    <h$!{headlineFontSize}>#if($UtilMethods.isSet($eventsHomepageUrl))<a href="${eventsHomepageUrl}">$!{headline}</a>#else$!{headline}#end</h$!{headlineFontSize}>
#end

#if($eventsListing.size() > 0)
  <ul class="events-list">
  #foreach($events in $eventsListing)
    <li class="events-item">
      #editContentlet($events.inode)
      #if($displayDateType.contains('cal') && $UtilMethods.isSet($events.startDate))
        <a class="month" href="/events/$events.urlTitle">$date.format('MMM', $events.startDate) <span class="day">$date.format('dd', $events.startDate)</span></a>
      #end
      
      <h3><a href="/events/$events.urlTitle">$events.title</a></h3>

      #if($displayDateType.contains('text') && $UtilMethods.isSet($events.startDate))
        <p class="date">$date.format('MMMM dd, y', $events.startDate) #if($fieldsToDisplay.contains('end') && $UtilMethods.isSet($events.endDate)) &ndash; $date.format('MMMM dd, y', $events.endDate)#end</p>
      #end
      

#if($fieldsToDisplay.contains('time') && $UtilMethods.isSet($events.time) || $fieldsToDisplay.contains('place') && $UtilMethods.isSet($events.place) || $fieldsToDisplay.contains('contactInfo') && $UtilMethods.isSet($events.contactInfo))
  <p class="details">#if($fieldsToDisplay.contains('time') && $UtilMethods.isSet($events.time))Time: $events.time <br>#end #if($fieldsToDisplay.contains('place') && $UtilMethods.isSet($events.place))Location: $events.place <br>#end #if($fieldsToDisplay.contains('contactInfo') && $UtilMethods.isSet($events.contactInfo))Contact: $events.contactInfo#end</p>
#end

      #if($fieldsToDisplay.contains('summary') && $UtilMethods.isSet($events.summary))
        $events.summary
      #end
      #if($fieldsToDisplay.contains('link') && $UtilMethods.isSet($events.link))
        <p><a href="$events.link">Register</a></p>
      #end
    </li>
  #end
  </ul>
#if($UtilMethods.isSet($eventsHomepageUrl))
  <p><a href="${eventsHomepageUrl}">view all events</a></p>
#end
  #if($pagination.contains('true') && $eventsListing.totalPages > 1)
      <ul class="pagination">
        #if($eventsListing.previousPage)
          <li><a href="/events/?page=$!{math.sub($page, 1)}">&laquo;</a></li>
        #end
        #foreach($i in [1..$eventsListing.totalPages])
          <li #if($page == $velocityCount)class="active"#end><a href="/events/?page=${velocityCount}">$velocityCount</a></li>
        #end
        #if($eventsListing.nextPage)
          <li><a href="/events/?page=$!{math.add($page, 1)}">&raquo;</a></li>
        #end
      </ul>
  #end
  #else
  <p>There are no events at this time.</p>
#end