I am having an issue with an event calendar. When the event is a one day event and has only a start date (no end date), the event does not display and the next event in line repeats. Can anyone explain what I can change in the code to fix the issue.
EventLandingPage.ss
<% if UpcomingEvents(4) %>
<h3><a href="events"><span>view all</span></a>Upcoming Events</h3>
<% control UpcomingEvents(4) %>
<div class="news-module">
<% if EventURL %><a href="$EventURL" class="logo"><% end_if %>
<% if EventImage %>$EventImage<% end_if %>
<% if EventURL %></a><% end_if %>
<p>
<span class="date">
<% if EventEndDate %>
$EventStartDate.MonthAndDay -
<% else %>
$EventStartDate.Complete
<% end_if %>
<% if EventEndDate %>$EventEndDate.Complete<% end_if %>
</span><br/>
<% if EventURL %><a href="$EventURL"><% end_if %><strong>$EventName</strong><% if EventURL %></a><% end_if %>
<% if EventDescription %><br/>$EventDescription<% end_if %>
<% if EventCity %><br/>$EventCity<% end_if %>
</p>
<div class="clear"></div>
</div>
<% end_control %>
<% else %>
<p>There are currently no events scheduled.</p>
<% end_if %>
EventPage.ss
<% if Events %>
<h3>Upcoming Events</h3>
<ul>
<% control Events %>
<li>
<% if EventURL %><a href="$EventURL" target="_blank"><% end_if %><% if EventImage %>$EventImage.SetWidth(100)<% end_if %> <h4>$EventName</h4><% if EventURL %></a><% end_if %><br />
$EventStartDate.Standard<% if EventEndDate %> - $EventEndDate.Standard<% end_if %> <br />
<% if Location %>
by <strong>$Location</strong><br />
<% end_if %>
<% if City %>
$City
<% end_if %>
<% if EventDescription %>
$EventDescription
<% end_if %>
</li>
<% end_control %>
</ul>
<% end_if %>
Event.php
<?php
class Event extends DataObject {
static $db = array(
'EventName' => 'Text',
'EventStartDate' => 'Date',
'EventEndDate' => 'Date',
'EventLocation' => 'Text',
'EventCity' => 'Text',
'EventDescription' => 'Text',
'EventURL' => 'Text',
'EventMediaURL' => 'Text'
);
static $has_one = array(
'EventImage' => 'Image',
'EventFile' => 'File',
'EventHolder' => 'EventHolder'
);
static $field_names = array(
'EventName' => 'Event Name',
'EventStartDate' => 'Start Date',
'EventEndDate' => 'End Date',
'EventLocation' => 'Location/Venue',
'EventCity' => 'City',
'EventDescription' => 'Description',
'EventImage' => 'Image/Logo',
);
public function getCMSFields_forPopup() {
$fields = new FieldSet();
$fields->push(new TextField('EventName', 'Event Name'));
$fields->push(new CalendarDateField('EventStartDate', 'Start Date'));
$fields->push(new CalendarDateField('EventEndDate', 'End Date'));
$fields->push(new TextField('EventLocation', 'Location/Venue'));
$fields->push(new TextField('EventCity', 'City'));
$fields->push(new TextAreaField('EventDescription', 'Description'));
$fields->push(new ImageField('EventImage', 'Event Image/Logo'));
$fields->push(new TextField('EventURL', 'Link/URL of Venue, Company, or Organization'));
$fields->push(new FileIFrameField('EventFile', 'Download File'));
$fields->push(new TextField('EventMediaURL', 'Link/URL to Video or Audio'));
return $fields;
}
function GetFileTypeText() {
//echo($this->EventImage.Filename);
}
}
class Event_Controller extends Page_Controller {
}