4 * Default theme implementation to display a single page.
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.
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.
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.
24 * - breadcrumb: The breadcrumb trail for the current page.
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).
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.
55 * @see template_preprocess_page()
59 {% set container = theme.settings.fluid_container ? 'container-fluid' : 'container' %}
61 {% if page.navigation or page.navigation_collapsible %}
64 set navbar_classes = [
66 theme.settings.navbar_inverse ? 'navbar-inverse' : 'navbar-default',
67 theme.settings.navbar_position ? 'navbar-' ~ theme.settings.navbar_position|clean_class : container,
70 <header{{ navbar_attributes.addClass(navbar_classes) }} id="navbar" role="banner">
71 {% if not navbar_attributes.hasClass('container') %}
72 <div class="{{ container }}">
74 <div class="navbar-header">
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>
87 {# Navigation (collapsible) #}
88 {% if page.navigation_collapsible %}
89 <div id="navbar-collapse" class="navbar-collapse collapse">
90 {{ page.navigation_collapsible }}
93 {% if not navbar_attributes.hasClass('container') %}
102 <div role="main" class="main-container {{ container }} js-quickedit-main-content">
108 <div class="col-sm-12" role="heading">
115 {% if page.sidebar_first %}
116 {% block sidebar_first %}
117 <aside class="col-sm-3" role="complementary">
118 {{ page.sidebar_first }}
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'
132 <section{{ content_attributes.addClass(content_classes) }}>
135 {% if page.highlighted %}
136 {% block highlighted %}
137 <div class="highlighted">{{ page.highlighted }}</div>
143 {% block breadcrumb %}
149 {% if action_links %}
150 {% block action_links %}
151 <ul class="action-links">{{ action_links }}</ul>
164 <a id="main-content"></a>
170 {% if page.sidebar_second %}
171 {% block sidebar_second %}
172 <aside class="col-sm-3" role="complementary">
173 {{ page.sidebar_second }}
183 <footer class="footer {{ container }}" role="contentinfo">
184 <div class="primary_footer row">
185 <div class="col-sm-3">
186 {{ page.footer_col1 }}
188 <div class="col-sm-3">
189 {{ page.footer_col2 }}
191 <div class="col-sm-3">
192 {{ page.footer_col3 }}
194 <div class="col-sm-3">
195 {{ page.footer_col4 }}
198 <div class = "secondary_footer row">
199 <div class="col-sm-12">