templates/blocks/map.html.twig line 1

Open in your IDE?
  1. {% macro check_full_size_map(array) %}
  2.     {% set full_size_map_exists = false %}
  3.     {% for item in array %}
  4.         {% if item is iterable %}
  5.             {% set result = _self.check_full_size_map(item) %}
  6.             {% if result %}
  7.                 {% set full_size_map_exists = true %}
  8.             {% endif %}
  9.         {% elseif attribute(item, 'full_size_map') is defined %}
  10.             {% set full_size_map_exists = true %}
  11.         {% endif %}
  12.         {% if full_size_map_exists %}
  13.             {% set break_loop = true %}
  14.             {% set loop = [] %}
  15.         {% endif %}
  16.     {% else %}
  17.         {% if not loop.last %}
  18.             {% set loop = [] %}
  19.         {% endif %}
  20.     {% endfor %}
  21.     {% set _result = full_size_map_exists %}
  22. {% endmacro %}
  23. {% if territory_list_set is defined and territory_list_set is not empty %}
  24.     {% set full_size_map_exists = true %}
  25. {% else %}
  26.     {% if block.map_elements is defined and block.map_elements is not empty %}
  27.         {% set full_size_map_exists = _self.check_full_size_map(block.map_elements) %}
  28.     {% endif %}
  29. {% endif %}
  30. <div id="map" class="experience-override{% if full_size_map_exists is defined and full_size_map_exists is not empty %} full-size{% endif %}"></div>
  31. <div id="map-elements" data-territory="{{ block.filter == 'experiences' ? 0 : 1 }}">
  32.     {% if block.map_elements is defined and block.map_elements is not empty %}
  33.         {% set map_elements = block.map_elements %}
  34.     {% else %}
  35.         {% set map_elements = block.articles_smart_content %}
  36.     {% endif %}
  37.     {% for element in map_elements %}
  38.         {% set thematique_ids = [] %}
  39.         {% if element.content.content.adresse is defined and element.content.content.adresse is not empty %}
  40.             {% if element.excerpt.categories is defined and element.excerpt.categories is not empty %}
  41.                 {% set categories = element.excerpt.categories %}
  42.                 {% for category in categories %}
  43.                     {% if category.id is defined and category.id is not empty %}
  44.                         {% set thematique_ids = thematique_ids|merge([category.id]) %}
  45.                     {% endif %}
  46.                 {% endfor %}
  47.             {% endif %}
  48.       {% set type_territoire = null %}
  49.       {% if element.content.content.type_territoire is defined and element.content.content.type_territoire is not empty %}
  50.         {% set type_territoire = element.content.content.type_territoire %}
  51.       {% endif %}
  52.       
  53.             <a href="#" 
  54.         data-lat="{{ element.content.content.adresse[1] }}" 
  55.         data-theme="{{ thematique_ids|json_encode|raw }}" 
  56.         data-long="{{ element.content.content.adresse[2] }}" 
  57.         data-title="{{ element.title }}"
  58.         {% if element.content.content.geoJson_set is defined and element.content.content.geoJson_set is not empty %}
  59.           data-set="{{ element.content.content.geoJson_set }}"
  60.         {% endif %}
  61.         {% set categoryColor = '' %}
  62.         {% if element.content.content.main_category is defined 
  63.             and element.content.content.main_category is not empty 
  64.         %}
  65.           {% set categoryColor = load_category_by_id(element.content.content.main_category.id, 'fr').entity.color %}
  66.         {% elseif thematique_ids[0] is defined and thematique_ids[0] is not null %}
  67.           {% set categoryColor = load_category_by_id(thematique_ids[0], 'fr').entity.color %}
  68.         {% endif %}
  69.         {% set categoryColor = categoryColor ?: '#354161' %}
  70.         data-main-color="{{categoryColor}}"
  71.         {% if type_territoire %}data-type="{{type_territoire}}"{% endif %}></a>
  72.         {% else %}
  73.             {% for map in element.content.content.main_content %}
  74.                 {% if map.type == "map" %}
  75.                     <a href="#" data-lat="{{ map.adresse[1] }}" data-long="{{ map.adresse[2] }}" data-set="{{ map.geoJson_set }}">{{ element.title }}</a>
  76.                     {% if map.additional_content is defined and map.additional_content is not empty %}
  77.                         {% for map_add in map.additional_content %}
  78.                             <a href="#" data-lat="{{ map_add.adresse[1] }}" data-long="{{ map_add.adresse[2] }}" data-set="{{ map.geoJson_set }}">{{ element.title }}</a>
  79.                         {% endfor %}
  80.                     {% endif %}
  81.                 {% endif %}
  82.             {% endfor %}
  83.         {% endif %}
  84.     {% endfor %}
  85. </div>