Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
{#
/**
* @file
* Theme override to display a node.
*
* Available variables:
* - node: The node entity with limited access to object properties and methods.
Only "getter" methods (method names starting with "get", "has", or "is")
and a few common methods such as "id" and "label" are available. Calling
other methods (such as node.delete) will result in an exception.
* - label: The title of the node.
* - content: All node items. Use {{ content }} to print them all,
* or print a subset such as {{ content.field_example }}. Use
* {{ content|without('field_example') }} to temporarily suppress the printing
* of a given child element.
* - author_picture: The node author user entity, rendered using the "compact"
* view mode.
* - metadata: Metadata for this node.
* - date: Themed creation date field.
* - author_name: Themed author name field.
* - url: Direct URL of the current node.
* - display_submitted: Whether submission information should be displayed.
* - attributes: HTML attributes for the containing element.
* The attributes.class element may contain one or more of the following
* classes:
* - node: The current template type (also known as a "theming hook").
* - node--type-[type]: The current node type. For example, if the node is an
* "Article" it would result in "node--type-article". Note that the machine
* name will often be in a short form of the human readable label.
* - node--view-mode-[view_mode]: The View Mode of the node; for example, a
* teaser would result in: "node--view-mode-teaser", and
* full: "node--view-mode-full".
* The following are controlled through the node publishing options.
* - node--promoted: Appears on nodes promoted to the front page.
* - node--sticky: Appears on nodes ordered above other non-sticky nodes in
* teaser listings.
* - node--unpublished: Appears on unpublished nodes visible only to site
* admins.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - content_attributes: Same as attributes, except applied to the main
* content tag that appears in the template.
* - author_attributes: Same as attributes, except applied to the author of
* the node tag that appears in the template.
* - title_prefix: Additional output populated by modules, intended to be
* displayed in front of the main title tag that appears in the template.
* - title_suffix: Additional output populated by modules, intended to be
* displayed after the main title tag that appears in the template.
* - view_mode: View mode; for example, "teaser" or "full".
* - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'.
* - page: Flag for the full page state. Will be true if view_mode is 'full'.
* - readmore: Flag for more state. Will be true if the teaser content of the
* node cannot hold the main body content.
* - logged_in: Flag for authenticated user status. Will be true when the
* current user is a logged-in member.
* - is_admin: Flag for admin user status. Will be true when the current user
* is an administrator.
*
* @ingroup templates
*
* @see template_preprocess_node()
*
* @todo Remove the id attribute (or make it a class), because if that gets
* rendered twice on a page this is invalid CSS for example: two lists
* in different view modes.
*/
#}
{%
set classes = [
node.bundle|clean_class,
node.isPromoted() ? 'is-promoted',
node.isSticky() ? 'is-sticky',
not node.isPublished() ? 'is-unpublished',
view_mode ? view_mode|clean_class,
'clearfix',
]
%}
<article{{ attributes.addClass(classes) }}>
{{ title_prefix }}
{% if not page %}
<h2{{ title_attributes }}>
<a href="{{ url }}" rel="bookmark">{{ label }}</a>
</h2>
{% endif %}
{{ title_suffix }}
{#
{% if display_submitted %}
<footer>
{{ author_picture }}
<div{{ author_attributes.addClass('author') }}>
{% trans %}Submitted by {{ author_name }} on {{ date }}{% endtrans %}
{{ metadata }}
</div>
</footer>
{% endif %}
#}
<div class="col-sm-4 col-sm-push-8 news-img">
{{ content.field_evt_image }}
</div>
<div{{ content_attributes.addClass('content') }}>
<div class="col-sm-8 col-sm-pull-4 news-cont">
<div class="evt-header">
<div class="col-xs-12 col-md-8">
{# get daylight savings time setting for event date range field #}
{% set daylight_savings = node.field_evt_date_range.value|date('I') %}
{# get start and end dates #}
{% set start_date = node.field_evt_date_range.value|date('F j') %}
{% set end_date = node.field_evt_date_range.end_value|date('F j') %}
{# place DATE value #}
Brian Canini
committed
<i class="fa fa-calendar evt-icon"></i>
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
{# check if daylight savings time, modify to correct time, place DATE value #}
{% if daylight_savings == '1' %}
{# if same day #}
{% if start_date == end_date %}
<div class="field--item evt-date">{{ node.field_evt_date_range.value|date_modify("-4 hours")|date('F j, Y') }}</div>
{% else %}
{# if multiple days #}
<div class="field--item evt-date">{{ node.field_evt_date_range.value|date_modify("-4 hours")|date('F j') ~ ' - ' ~ node.field_evt_date_range.end_value|date_modify("-4 hours")|date('F j, Y') }}</div>
{% endif %}
{% else %}
{# get end year for event date range field #}
{% set end_year = node.field_evt_date_range.end_value|date_modify("-5 hours")|date('Y') %}
{# check if end date is past new year#}
{% if end_year > node.field_evt_date_range.value|date_modify("-5 hours")|date('Y') %}
{# if it is add year to first date #}
{# if same day #}
{% if start_date == end_date %}
<div class="field--item evt-date">{{ node.field_evt_date_range.value|date_modify("-5 hours")|date('F j, Y') }}</div>
{% else %}
{# if multiple days #}
<div class="field--item evt-date">{{ node.field_evt_date_range.value|date_modify("-5 hours")|date('F j, Y') ~ ' - ' ~ node.field_evt_date_range.end_value|date_modify("-5 hours")|date('F j, Y') }}</div>
{% endif %}
{% else %}
{# if same day #}
{% if start_date == end_date %}
<div class="field--item evt-date">{{ node.field_evt_date_range.value|date_modify("-5 hours")|date('F j, Y') }}</div>
{% else %}
{# if multiple days #}
<div class="field--item evt-date">{{ node.field_evt_date_range.value|date_modify("-5 hours")|date('F j') ~ ' - ' ~ node.field_evt_date_range.end_value|date_modify("-5 hours")|date('F j, Y') }}</div>
{% endif %}
{% endif %}
{% endif %}
{# place TIME value #}
Brian Canini
committed
<i class="fa fa-clock-o evt-icon"></i>
{# check if all day is selected #}
{% if node.field_evt_all_day.value == 1 %}
<div class="field--item evt-time">All Day</div>
{% else %}
{# check if daylight savings time, modify to correct time #}
{% if daylight_savings == '1' %}
<div class="field--item evt-time">{{ node.field_evt_date_range.value|date_modify("-4 hours")|date('g:iA') ~ ' - ' ~ node.field_evt_date_range.end_value|date_modify("-4 hours")|date('g:iA') }}</div>
{% else %}
<div class="field--item evt-time">{{ node.field_evt_date_range.value|date_modify("-5 hours")|date('g:iA') ~ ' - ' ~ node.field_evt_date_range.end_value|date_modify("-5 hours")|date('g:iA') }}</div>
{% endif %}
{% endif %}
{# place LOCATION value #}
Brian Canini
committed
<i class="fa fa-map-marker evt-icon"></i> <div class="field--item evt-loc">{{ content.field_evt_location_2 }}</div>
</div>
<div class="col-xs-12 col-md-4 evt-cal">
{# place AddToCalendar btn #}
{{ content.field_evt_date_range }}
</div>
</div>
{{ content|without('field_evt_image')|without('field_evt_location_2')|without('field_evt_date')|without('field_evt_date_range')|without('field_evt_time') }}
<hr/>
</div>
</div>
</article>