Skip to content
Snippets Groups Projects
paragraph--columns_two.html.twig 8.77 KiB
{#
/**
 * @file
 * Custom Paragraphs template for displaying a Two Column layout.
 *
 * Available variables:
 * - paragraph: Full paragraph entity.
 *   - id: The paragraph ID.
 *   - bundle: The type of the paragraph, for example, "image" or "text".
 *   - authorid: The user ID of the paragraph author.
 *   - createdtime: Formatted creation date. Preprocess functions can
 *     reformat it by calling format_date() with the desired parameters on
 *     $variables['paragraph']->getCreatedTime().
 * - content: All paragraph 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.
 * - attributes: HTML attributes for the containing element.
 *   The attributes.class element may contain one or more of the following
 *   classes:
 *   - paragraphs: The current template type (also known as a "theming hook").
 *   - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
 *     "Image" it would result in "paragraphs--type--image". Note that the machine
 *     name will often be in a short form of the human readable label.
 *   - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
 *     preview would result in: "paragraphs--view-mode--preview", and
 *     default: "paragraphs--view-mode--default".
 * - view_mode: View mode; for example, "preview" or "full".
 * - 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.
 *
 * @see template_preprocess_paragraph()
 *
 */
#}

{# Setting up variables that determines the width for left and right columns #}
{% if content.field_column_style_2['#items'].getString() == "paragraph--style--50-50" %}

        {% set leftwidth, rightwidth = 'col-xs-12 col-md-6', 'col-xs-12 col-md-6' %}

{% elseif content.field_column_style_2['#items'].getString() == "paragraph--style--75-25" %}

        {% set leftwidth, rightwidth = 'col-xs-12 col-md-9', 'col-xs-12 col-md-3' %}

{% elseif content.field_column_style_2['#items'].getString() == "paragraph--style--66-33" %}

        {% set leftwidth, rightwidth = 'col-xs-12 col-md-8', 'col-xs-12 col-md-4' %}

{% elseif content.field_column_style_2['#items'].getString() == "paragraph--style--25-75" %}

        {% set leftwidth, rightwidth = 'col-xs-12 col-md-3', 'col-xs-12 col-md-9' %}

{% elseif content.field_column_style_2['#items'].getString() == "paragraph--style--33-66" %}

        {% set leftwidth, rightwidth = 'col-xs-12 col-md-4', 'col-xs-12 col-md-8' %}

{% else %}

        {% set leftwidth, rightwidth = 'col-xs-12 col-md-6', 'col-xs-12 col-md-6' %}

{% endif %}


{# Setting up variable that determines the background color for section #}
{% set bgcolor = content.field_background_color['#items'].getString() %}

{% if bgcolor == ''%}
  {% set bgcolor = 'transparent-bg' %}
{% endif %}

{# Prints div with classes, and content without Width and Background. #}
<div{{ attributes.addClass(classes) }}>
  <div class="paragraph__column {{ bgcolor }} para_2_col">

{% set thecont = [] %}
{% set rand = random(56748) %}

  {% for item in content|without('field_column_style_2')|without('field_background_color')|without('field_publish_section_title')|without('field_column_title2') %}
    {% set thecont = thecont|merge(item) %}
  {% endfor %}

{% if page_content_type == 'landing_page' and thecont[0]['#paragraph'].type.target_id != 'advanced_callout_box' %}
    <div class="container">
{% endif %}
    {# content.field_column_content_2[0]['#paragraph'].field_text.value #}
    {# for key in content.field_column_content_2|keys %}
    {{ key }}
{ endfor %}
{{ paragraph.id.value #}


{# Advanced Callout Box Mobile #}
{% if thecont[0]['#paragraph'].type.target_id == 'advanced_callout_box' %}
  {% set contcount = thecont|length - 17 %}

  <div id="carousel-mobile-{{ rand }}" class="carousel slide adv-callout-carousel adv-callout-mobile" data-ride="false" data-interval="0">

{% if page_content_type == 'landing_page' %}
    <div class="container">
    {% if content.field_publish_section_title['#items'].value == 1 %}
        <h2 class="sec-title">{{ content.field_column_title2 }}</h2>
    {% endif %}

      <div class="carousel-inner adv-call-mob-inner" role="listbox">
      {% for item in thecont|slice(0, contcount) %}
        {% if page_content_type == 'landing_page' %}
          <div class="item {% if loop.first %}active{% endif %}">
        {% endif %}
        {% if page_content_type == 'page' %}
          <div class="item active">
        {% endif %}

            <div class="col-xs-12 col-adv-call-mobile">
              <div class="card">
                {{ thecont[loop.index0] }}
              </div>
            </div>

          </div>
        {% endfor %}
      </div>

    </div>
{% endif %}

{% if page_content_type == 'page' %}
 <div class="carousel-inner adv-call-mob-inner" role="listbox">

      {% for item in thecont|slice(0, 2) %}

          <div class="item active">

            <div class="col-xs-12 col-adv-call-mobile">
              <div class="card">
                {{ thecont[loop.index0] }}
              </div>
            </div>

          </div>
        {% endfor %}

      </div>
{% endif %}

{% if page_content_type != 'page' %}
      <!-- Controls -->
      <div class="col-12 text-center">
        <a class="btn btn-primary mb-3 mr-1 control-l" href="#carousel-mobile-{{ rand }}" role="button" data-slide="prev">
            <i class="fa fa-angle-left" aria-hidden="true"></i>
            <span class="sr-only">Previous</span>
        </a>
        <a class="btn btn-primary mb-3 control-r" href="#carousel-mobile-{{ rand }}" role="button" data-slide="next">
            <i class="fa fa-angle-right" aria-hidden="true"></i>
            <span class="sr-only">Next</span>
        </a>
      </div>
{% endif %}
    </div>


{# Advanced Callout box desktop #}
    {% set counter = 1 %}
    {% set contcount = thecont|length - 17 %}

    <div id="carousel-desktop-{{ rand }}" class="carousel slide adv-callout-carousel adv-callout-desktop" data-ride="false" data-interval="0">

{% if page_content_type == 'landing_page' %}
    <div class="container">
{% endif %}
    {% if content.field_publish_section_title['#items'].value == 1 %}
        <h2 class="sec-title">{{ content.field_column_title2 }}</h2>
    {% endif %}

      <div class="carousel-inner{% if contcount > 2 %} controls-spacing{% endif %}" role="listbox">

      {% for item in thecont|slice(0, contcount) %}
        {% if counter == 1 %}
          <div class="item {% if loop.first %}active{% endif %}">
            <div class="row {% if loop.last %}last-row{% endif %}">
        {% endif %}

            <div class="{% if counter == 1 %}col-xs-12 col-md-6 col-l{% else %}col-xs-12 col-md-6 col-r{% endif %}">
              <div class="card">
                {{ thecont[loop.index0] }}
              </div>
            </div>


            {% if loop.last and counter == 1 %}


              <div class="col-xs-12 col-md-6 col-r transparent">

              </div>


            {% endif %}


          {% if counter == 2 or loop.last %}
            </div>
          </div>
          {% set counter = 3 %}
        {% endif %}


        {% if counter == 1 %}
          {% set counter = counter + 1 %}
        {% endif %}

        {% if counter == 3 %}
          {% set counter = 1 %}
        {% endif %}

        {% endfor %}

      </div>

{% if page_content_type == 'landing_page' %}
    </div>
{% endif %}

{% if page_content_type != 'page' %}
      {% if contcount > 2 %}

         <!-- Controls -->
        <div class="col-6 text-right">
          <a class="btn btn-primary mb-3 mr-1 control-l" href="#carousel-desktop-{{ rand }}" role="button" data-slide="prev">
              <i class="fa fa-angle-left" aria-hidden="true"></i>
              <span class="sr-only">Previous</span>
          </a>
          <a class="btn btn-primary mb-3 control-r" href="#carousel-desktop-{{ rand }}" role="button" data-slide="next">
              <i class="fa fa-angle-right" aria-hidden="true"></i>
              <span class="sr-only">Next</span>
          </a>
        </div>

      {% endif %}
{% endif %}
    </div>


  {% elseif thecont[0]['#paragraph'].type.target_id != 'advanced_callout_box' %}

    {% if content.field_publish_section_title['#items'].value == 1 %}
        <h2 class="sec-title">{{ content.field_column_title2 }}</h2>
    {% endif %}
    <div class="{{ leftwidth }} col-l">
      {{ thecont[0] }}
    </div>

    <div class="{{ rightwidth }} col-r">
      {{ thecont[1] }}
    </div>

{% endif %}

    {% if page_content_type == 'landing_page' and thecont[0]['#paragraph'].type.target_id != 'advanced_callout_box' %}
        </div>
    {% endif %}

  </div>
</div>