templates/resource/listing.html.twig line 1

Open in your IDE?
  1. {% extends 'layouts/layout.html.twig' %}
  2. {% block content %}
  3.     {% set queryParams = app.request.query.all %}
  4.     <main class="pullc">
  5.         <div class="container-xl directory">
  6.             <div class="row">
  7.                 <div class="col-lg-3 leftpull section-pillar d-none d-lg-block">
  8.                     <div class="section-title px-3 px-lg-3 ps-lg-0 d-flex flex-column">
  9.                         <h1 class="mb-lg-5 pt-1 pe-lg-4 mt-5 text-lg-end">{{ section_title }}
  10.                         </h1>
  11.                     </div>
  12.                     <form class="p-3 mb-5 filters" method="get" action="/Training-Resources">
  13.                         <div class="row">
  14.                             <div class="col col-12 col-md-6 col-lg-12">
  15.                                 {% if queryParams %}
  16.                                     <div class="text-center mb-1">
  17.                                         <a class="btn btn-outline-light" href="/Training-Resources">Clear filters</a>
  18.                                     </div>
  19.                                 {% endif %}
  20.                                 <fieldset>
  21.                                     <legend>Topic</legend>
  22.                                     {% for topic in topics_options %}
  23.                                         <div class="form-check">
  24.                                             <input class="form-check-input" onchange="this.form.submit()" id="topic{{ loop.index }}" name="topics[]" type="checkbox" {% if topic.value in topicsvalues %} checked {% endif %} value="{{ topic.value }}">
  25.                                             <label class="form-check-label" for="topic{{ loop.index }}">
  26.                                                 {{ topic.key }}
  27.                                             </label>
  28.                                         </div>
  29.                                     {% endfor %}
  30.                                 </fieldset>
  31.                                 <hr>
  32.                             </div>
  33.                             <div class="col col-12 col-md-6 col-lg-12">
  34.                                 <fieldset>
  35.                                     <legend>Audience</legend>
  36.                                     {% for audience in audiences_options %}
  37.                                         <div class="form-check">
  38.                                             <input class="form-check-input" onchange="this.form.submit()" id="audiences{{ loop.index }}" name="audiences[]" type="checkbox" {% if audience.value in audiencesvalues %} checked {% endif %} value="{{ audience.value }}">
  39.                                             <label class="form-check-label" for="audiences{{ loop.index }}">
  40.                                                 {{ audience.key }}
  41.                                             </label>
  42.                                         </div>
  43.                                     {% endfor %}
  44.                                 </fieldset>
  45.                                 <hr>
  46.                             </div>
  47.                             <div class="col col-12 col-md-6 col-lg-12">
  48.                                 <fieldset>
  49.                                     <legend>Type</legend>
  50.                                     <select class="form-select" name="type" aria-label="Resource type" onchange="this.form.submit()">
  51.                                         <option value="">All types</option>
  52.                                         {% for type in types_options %}
  53.                                             <option {% if type.value in typesvalues %} selected {% endif %} value="{{ type.value }}">{{ type.key }}</option>
  54.                                         {% endfor %}
  55.                                     </select>
  56.                                 </fieldset>
  57.                             </div>
  58.                             <div class="col col-12 col-md-6 col-lg-12 mt-2">
  59.                                 <hr>
  60.                                 <div class="input-group mt-3">
  61.                                     <input type="search" class="form-control" name="st" value="{{ st }}" placeholder="Search resources" aria-label="Search training resources">
  62.                                     <div class="input-group-append">
  63.                                         <button class="btn btn-outline-light" type="submit">Go</button>
  64.                                     </div>
  65.                                 </div>
  66.                             </div>
  67.                         </div>
  68.                         <input type="hidden" name="sort" value="{{ sort }}">
  69.                     </form>
  70.                     {% if document.getProperty('pillar_background') %}
  71.                         {% if document.getProperty('pillar_background').getMetadata('Credit') %}
  72.                             <div class="pillar-credit">
  73.                                 Image:
  74.                                 {{ document.getProperty('pillar_background').getMetadata('Credit') }}
  75.                             </div>
  76.                         {% endif %}
  77.                     {% endif %}
  78.                 </div>
  79.                 <div class="col-lg-9 ps-lg-5 pe-lg-5 pb-4">
  80.                     <div class="breadcrumbs mt-3">
  81.                         <a href="/">Home</a>
  82.                         /
  83.                         <a href="/Training">CESSDA Training</a>
  84.                         /
  85.                         <a href="/Training-Resources">Training Resources</a>
  86.                         / 
  87.                                                                                                                                                                                                                                                                                                                                                                          List
  88.                     </div>
  89.                     <div class="row mb-4">
  90.                         <div class="col-12 my-3">
  91.                             <div class="row justift-content-lg-end  align-items-center">
  92.                                 <div class="col-12 col-lg-8">
  93.                                     <h1>Training Resources</h1>
  94.                                 </div>
  95.                                 <div class="col-12 col-lg-4 align-self-lg-end">
  96.                                     <form method="get" action="/Training-Resources">
  97.                                         <div class="input-group mb-3">
  98.                                             <button class="btn btn-primary" type="submit">Sort</button>
  99.                                             <select class="form-select" name="sort" aria-label="Sorting" onchange="this.form.submit()">
  100.                                                 <option {% if sort == "date DESC" or not sort %} selected {% endif %} value="date DESC">Latest published</option>
  101.                                                 <option {% if sort == "date ASC" %} selected {% endif %} value="date ASC">Earliest published</option>
  102.                                                 <option {% if sort == "title" %} selected {% endif %} value="title">Title</option>
  103.                                             </select>
  104.                                         </div>
  105.                                         <input type="hidden" name="st" value="{{st}}">
  106.                                         {% if topicsvalues %}
  107.                                             {% for topicsvalue in topicsvalues %}
  108.                                                 <input type="hidden" name="topics[]" value="{{topicsvalue}}">
  109.                                             {% endfor %}
  110.                                         {% endif %}
  111.                                         {% if audiencesvalues %}
  112.                                             {% for audiencesvalue in audiencesvalues %}
  113.                                                 <input type="hidden" name="audiences[]" value="{{audiencesvalue}}">
  114.                                             {% endfor %}
  115.                                         {% endif %}
  116.                                         <input type="hidden" name="type" value="{{typesvalues}}">
  117.                                     </form>
  118.                                 </div>
  119.                             </div>
  120.                         </div>
  121.                         {% if not resourceListing.items %}
  122.                             <p class="text-center mt-2">No results. Please try different filters or search terms.</p>
  123.                         {% endif %}
  124.                         <div class="d-lg-none">
  125.                             <a class="btn btn-primary mb-2" data-bs-toggle="collapse" href="#mobilefilters" role="button" aria-expanded="false" aria-controls="mobilefilters">
  126.                                 Show/hide filters
  127.                             </a>
  128.                             <form class="my-2 mobile-filters collapse" id="mobilefilters" method="get" action="/Training-Resources">
  129.                                 <div class="row p-3">
  130.                                     <div class="col col-12 col-md-6 col-lg-12">
  131.                                         {% if queryParams %}
  132.                                             <div class="text-center mb-1">
  133.                                                 <a class="btn btn-outline-light" href="/Training-Resources">Clear filters</a>
  134.                                             </div>
  135.                                         {% endif %}
  136.                                         <fieldset>
  137.                                             <legend>Topic</legend>
  138.                                             {% for topic in topics_options %}
  139.                                                 <div class="form-check">
  140.                                                     <input class="form-check-input" id="mtopic{{ loop.index }}" name="topics[]" type="checkbox" {% if topic.value in topicsvalues %} checked {% endif %} value="{{ topic.value }}">
  141.                                                     <label class="form-check-label" for="mtopic{{ loop.index }}">
  142.                                                         {{ topic.key }}
  143.                                                     </label>
  144.                                                 </div>
  145.                                             {% endfor %}
  146.                                         </fieldset>
  147.                                     </div>
  148.                                     <div class="col col-12 col-md-6 col-lg-12 pt-2 pt-md-0">
  149.                                         <fieldset>
  150.                                             <legend>Audience</legend>
  151.                                             {% for audience in audiences_options %}
  152.                                                 <div class="form-check">
  153.                                                     <input class="form-check-input" id="maudiences{{ loop.index }}" name="audiences[]" type="checkbox" {% if audience.value in audiencesvalues %} checked {% endif %} value="{{ audience.value }}">
  154.                                                     <label class="form-check-label" for="maudiences{{ loop.index }}">
  155.                                                         {{ audience.key }}
  156.                                                     </label>
  157.                                                 </div>
  158.                                             {% endfor %}
  159.                                         </fieldset>
  160.                                     </div>
  161.                                 </div>
  162.                                 <div class="row pb-3 pt-0 px-3">
  163.                                     <div class="col col-12 col-md-6 col-lg-12">
  164.                                         <fieldset>
  165.                                             <select class="form-select" name="type" aria-label="Resource type">
  166.                                                 <option value="">All types</option>
  167.                                                 {% for type in types_options %}
  168.                                                     <option {% if type.value in typesvalues %} selected {% endif %} value="{{ type.value }}">{{ type.key }}</option>
  169.                                                 {% endfor %}
  170.                                             </select>
  171.                                         </fieldset>
  172.                                     </div>
  173.                                     <div class="col col-12 col-md-6 col-lg-12 pt-2 pt-md-0">
  174.                                         <div class="form-floating">
  175.                                             <input type="search" class="form-control" name="st" value="{{ st }}" id="msearchterms" placeholder="Search terms" aria-label="Search training resources">
  176.                                             <label for="msearchterms">Additional search terms</label>
  177.                                         </div>
  178.                                     </div>
  179.                                     <input type="hidden" name="sort" value="{{ sort }}">
  180.                                     <div class="col-12 mt-3">
  181.                                         <button class="btn btn-primary" type="submit">Apply</button>
  182.                                     </div>
  183.                                 </div>
  184.                             </form>
  185.                         </div>
  186.                     </div>
  187.                     {% for resource in resourceListing %}
  188.                         <div class="row newslist mb-2">
  189.                             {% set detailLink = app_resource_detaillink(resource) %}
  190.                             <div class="col-12 p-2">
  191.                                 <h2>
  192.                                     <a href="{{ detailLink }}{% if qs is defined and qs != "" %}?{{ qs }}{% endif %}" class="listlink bluelink stretched-link">{{ resource.title }}</a>
  193.                             
  194.                                 </h2>
  195.                                 <span class="eventdate">{{ resource.date | date('Y-m-d') }}</span>
  196.                                         {% for topic in resource.topics %}
  197.                                         <span class="badge rounded-pill bg-green-050 text-dark">
  198.                                             {{ topic }}</span>
  199.                                     {% endfor %}
  200.                                     {% for resource_type in resource.resource_type %}
  201.                                         <span class="badge rounded-pill bg-green-050 text-dark">
  202.                                             {{ resource_type }}</span>
  203.                                     {% endfor %}
  204.                                     {% for resource_format in resource.resource_format %}
  205.                                         <span class="badge rounded-pill bg-green-050 text-dark">
  206.                                             {{ resource_format }}</span>
  207.                                     {% endfor %}
  208.                                 <div class="w-100">
  209.                                     <div class="mb-1">
  210.                                         {% if resource.description|length > 300 %}
  211.                                             {{ resource.description|slice(0, 297)|trim ~ '...' }}
  212.                                         {% else %}
  213.                                             {{ resource.description }}
  214.                                         {% endif %}
  215.                                     </div>
  216.                                 
  217.                                 </div>
  218.                             </div>
  219.                         </div>
  220.                     {% endfor %}
  221.                     <div class="mt-5">
  222.                         {% include 'includes/pagination.html.twig' %}</div>
  223.                 </div>
  224.                 {#{ dump(filterprequery) }#}
  225.             </div>
  226.         </div>
  227. </main>{% endblock %}