Final changes for the Use cases on the live site.
[yaffs-website] / web / themes / custom / yaffs / templates / page.html.twig
1 {#
2 /**
3  * @file
4  * Default theme implementation to display a single page.
5  *
6  * The doctype, html, head and body tags are not in this template. Instead they
7  * can be found in the html.html.twig template in this directory.
8  *
9  * Available variables:
10  *
11  * General utility variables:
12  * - base_path: The base URL path of the Drupal installation. Will usually be
13  *   "/" unless you have installed Drupal in a sub-directory.
14  * - is_front: A flag indicating if the current page is the front page.
15  * - logged_in: A flag indicating if the user is registered and signed in.
16  * - is_admin: A flag indicating if the user has permission to access
17  *   administration pages.
18  *
19  * Site identity:
20  * - front_page: The URL of the front page. Use this instead of base_path when
21  *   linking to the front page. This includes the language domain or prefix.
22  *
23  * Navigation:
24  * - breadcrumb: The breadcrumb trail for the current page.
25  *
26  * Page content (in order of occurrence in the default page.html.twig):
27  * - title_prefix: Additional output populated by modules, intended to be
28  *   displayed in front of the main title tag that appears in the template.
29  * - title: The page title, for use in the actual content.
30  * - title_suffix: Additional output populated by modules, intended to be
31  *   displayed after the main title tag that appears in the template.
32  * - messages: Status and error messages. Should be displayed prominently.
33  * - tabs: Tabs linking to any sub-pages beneath the current page (e.g., the
34  *   view and edit tabs when displaying a node).
35  * - action_links: Actions local to the page, such as "Add menu" on the menu
36  *   administration interface.
37  * - node: Fully loaded node, if there is an automatically-loaded node
38  *   associated with the page and the node ID is the second argument in the
39  *   page's path (e.g. node/12345 and node/12345/revisions, but not
40  *   comment/reply/12345).
41  *
42  * Regions:
43  * - page.header: Items for the header region.
44  * - page.navigation: Items for the navigation region.
45  * - page.navigation_collapsible: Items for the navigation (collapsible) region.
46  * - page.highlighted: Items for the highlighted content region.
47  * - page.help: Dynamic help text, mostly for admin pages.
48  * - page.content: The main content of the current page.
49  * - page.sidebar_first: Items for the first sidebar.
50  * - page.sidebar_second: Items for the second sidebar.
51  * - page.footer: Items for the footer region.
52  *
53  * @ingroup templates
54  *
55  * @see template_preprocess_page()
56  * @see html.html.twig
57  */
58 #}
59 {% set container = theme.settings.fluid_container ? 'container-fluid' : 'container' %}
60 {# Navbar #}
61 {% if page.navigation or page.navigation_collapsible %}
62   {% block navbar %}
63     {%
64       set navbar_classes = [
65         'navbar',
66         theme.settings.navbar_inverse ? 'navbar-inverse' : 'navbar-default',
67         theme.settings.navbar_position ? 'navbar-' ~ theme.settings.navbar_position|clean_class : container,
68       ]
69     %}
70     <header{{ navbar_attributes.addClass(navbar_classes) }} id="navbar" role="banner">
71       {% if not navbar_attributes.hasClass('container') %}
72         <div class="{{ container }}">
73       {% endif %}
74       <div class="navbar-header">
75         {{ page.navigation }}
76         {# .btn-navbar is used as the toggle for collapsed navbar content #}
77         {% if page.navigation_collapsible %}
78           <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse">
79             <span class="sr-only">{{ 'Toggle navigation'|t }}</span>
80             <span class="icon-bar"></span>
81             <span class="icon-bar"></span>
82             <span class="icon-bar"></span>
83           </button>
84         {% endif %}
85       </div>
86
87       {# Navigation (collapsible) #}
88       {% if page.navigation_collapsible %}
89         <div id="navbar-collapse" class="navbar-collapse collapse">
90           {{ page.navigation_collapsible }}
91         </div>
92       {% endif %}
93       {% if not navbar_attributes.hasClass('container') %}
94         </div>
95       {% endif %}
96     </header>
97   {% endblock %}
98 {% endif %}
99
100 {# Main #}
101 {% block main %}
102   <div role="main" class="main-container {{ container }} js-quickedit-main-content">
103     <div class="row">
104
105       {# Header #}
106       {% if page.header %}
107         {% block header %}
108           <div class="col-sm-12" role="heading">
109             {{ page.header }}
110           </div>
111         {% endblock %}
112       {% endif %}
113
114       {# Sidebar First #}
115       {% if page.sidebar_first %}
116         {% block sidebar_first %}
117           <aside class="col-sm-3" role="complementary">
118             {{ page.sidebar_first }}
119           </aside>
120         {% endblock %}
121       {% endif %}
122
123       {# Content #}
124       {%
125         set content_classes = [
126           page.sidebar_first and page.sidebar_second ? 'col-sm-6',
127           page.sidebar_first and page.sidebar_second is empty ? 'col-sm-9',
128           page.sidebar_second and page.sidebar_first is empty ? 'col-sm-9',
129           page.sidebar_first is empty and page.sidebar_second is empty ? 'col-sm-12'
130         ]
131       %}
132       <section{{ content_attributes.addClass(content_classes) }}>
133
134         {# Highlighted #}
135         {% if page.highlighted %}
136           {% block highlighted %}
137             <div class="highlighted">{{ page.highlighted }}</div>
138           {% endblock %}
139         {% endif %}
140
141         {# Breadcrumbs #}
142         {% if breadcrumb %}
143           {% block breadcrumb %}
144             {{ breadcrumb }}
145           {% endblock %}
146         {% endif %}
147
148         {# Action Links #}
149         {% if action_links %}
150           {% block action_links %}
151             <ul class="action-links">{{ action_links }}</ul>
152           {% endblock %}
153         {% endif %}
154
155         {# Help #}
156         {% if page.help %}
157           {% block help %}
158             {{ page.help }}
159           {% endblock %}
160         {% endif %}
161
162         {# Content #}
163         {% block content %}
164           <a id="main-content"></a>
165           {{ page.content }}
166         {% endblock %}
167       </section>
168
169       {# Sidebar Second #}
170       {% if page.sidebar_second %}
171         {% block sidebar_second %}
172           <aside class="col-sm-3" role="complementary">
173             {{ page.sidebar_second }}
174           </aside>
175         {% endblock %}
176       {% endif %}
177     </div>
178   </div>
179 {% endblock %}
180
181 {% if page.footer %}
182   {% block footer %}
183     <footer class="footer {{ container }}" role="contentinfo">
184         <div class="primary_footer row">
185             <div class="col-sm-3">
186                 {{ page.footer_col1 }}
187             </div>
188             <div class="col-sm-3">
189                 {{ page.footer_col2 }}
190             </div>
191             <div class="col-sm-3">
192                 {{ page.footer_col3 }}
193             </div>
194             <div class="col-sm-3">
195                 {{ page.footer_col4 }}
196             </div>
197         </div>
198         <div class = "secondary_footer row">
199             <div class="col-sm-12">
200               {{ page.footer }}
201             </div>
202         </div>
203     </footer>
204   {% endblock %}
205 {% endif %}