templates/Front/Blog/blog.html.twig line 1

Open in your IDE?
  1. {% extends "Global/layout.html.twig" %}
  2. {% set pagetitle = 'Blog'|trans %}
  3. {% block title %}{{pagetitle}}{% endblock %}
  4. {% block content %}
  5.     {% set navigation = [{"current" : (pagetitle)}] %}
  6.     {% include "Global/navigation.html.twig" with navigation %}
  7.     <section class="section-content padding-y bg-white">
  8.         <div class="{{ services.getSetting("app_layout") }}">
  9.             <div class="box shadow-none bg-gray mb-4">
  10.                 <div class="row">
  11.                     <div class="col-sm-12 col-lg-3 text-center text-lg-left mb-3 mb-lg-0">
  12.                         <span class="center-lg-y text-muted">{{ "%resultsCount% post(s) found"|trans({'%resultsCount%': blogposts.getTotalItemCount}) }}</span>
  13.                     </div>
  14.                     <div class="col-sm-12 col-lg-6 offset-lg-3 text-center text-lg-right">
  15.                         <form>
  16.                             <input type="text" class="form-control bg-white col-6 display-inline" name="keyword" placeholder="{{ "Search blog posts"|trans }}" value="{{ app.request.get('keyword') }}" />
  17.                             <button type="submit" class="btn btn-primary display-inline"><i class="fas fa-search"></i></button>
  18.                         </form>
  19.                     </div>
  20.                 </div>
  21.             </div>
  22.             <div class="row">
  23.                 {% for blogpost in blogposts %}
  24.                     <div class="col-12 col-sm-6 col-lg-4">
  25.                         {% include "Global/blog-card.html.twig" with {blogpost: blogpost, thumbnailsize: [397, 397], showdate: 1} %}
  26.                     </div>
  27.                 {% endfor %}
  28.             </div>
  29.             {{ knp_pagination_render(blogposts, null, {}, {'align': 'center'}) }}
  30.         </div>
  31.     </section>
  32. {% endblock %}
  33. {% block javascripts %}
  34.     <script>
  35.     async function clickOnBlog(slug) {
  36.         try{
  37.         console.log('Sending ticket for event:', slug);
  38.             await fetch('{{ asset("assets/ll_assets/assets/js/tracardi.js") }}').then(response => {
  39.                 if (!response.ok) {
  40.                     throw new Error('Network response was not ok');
  41.                 }
  42.                 return response.text();
  43.             }).then(scriptContent => {
  44.                 const scriptElement = document.createElement('script');
  45.                 scriptElement.text = scriptContent;
  46.                 document.body.appendChild(scriptElement);
  47.             });
  48.                 await new Promise((resolve, reject) => {
  49.                 try {
  50.                     window.tracker.track('Click on banner', {
  51.                         Type: 'Click',
  52.                         Action: 'Lead',
  53.                         blogPost: slug
  54.                     });
  55.                     resolve();
  56.                 } catch (error) {
  57.                     reject(error);
  58.                 }
  59.             });
  60.             window.location.replace(`/blog_article/${slug}`);
  61.             } catch (error) {
  62.             console.error('Error:', error);
  63.             console.error('An error occurred.');
  64.         }
  65.     }
  66.     </script>
  67. {% endblock %}