custom/plugins/SasBlogModule/src/Resources/views/storefront/component/blog/card/box.html.twig line 1

Open in your IDE?
  1. {% block sas_blog_card %}
  2.     {% set articleUrl = seoUrl('sas.frontend.blog.detail', {'articleId': article.id}) %}
  3.     {% set articleAuthorName = '' %}
  4.     {% if article.blogAuthor %}
  5.         {% set articleAuthorName = article.blogAuthor.displayName ?: article.blogAuthor.translated.name %}
  6.     {% endif %}
  7.     <article class="card blog-card"
  8.              itemprop="item"
  9.              itemscope
  10.              itemtype="https://schema.org/BlogPosting">
  11.         <meta itemprop="mainEntityOfPage" content="{{ articleUrl }}">
  12.         <meta itemprop="url" content="{{ articleUrl }}">
  13.         <meta itemprop="datePublished" content="{{ article.publishedAt|date('c') }}">
  14.         {% if article.translated.teaser %}
  15.             <meta itemprop="description" content="{{ article.translated.teaser|striptags|trim }}">
  16.         {% endif %}
  17.         {% if articleAuthorName %}
  18.             <span class="d-none" itemprop="author" itemscope itemtype="https://schema.org/Person">
  19.                 <meta itemprop="name" content="{{ articleAuthorName }}">
  20.             </span>
  21.         {% endif %}
  22.         {% block sas_blog_card_teaser_image %}
  23.             <a href="{{ articleUrl }}"
  24.                     title="{{ article.translated.title }}"
  25.                     class="blog-image-link">
  26.                      {% if article.media.url %}
  27.                          {% set attributes = {
  28.                              'class': 'blog-image card-img-top',
  29.                              'alt': (article.media.translated.alt ?: article.media.fileName),
  30.                              'title': (article.media.translated.title ?: article.media.fileName),
  31.                              'itemprop': 'image'
  32.                          } %}
  33.                          {% sw_thumbnails 'blog-image-thumbnails' with {
  34.                              media: article.media,
  35.                              sizes: {
  36.                                 'xs': '330px',
  37.                                 'sm': '650px',
  38.                                  'md': '650px',
  39.                                  'lg': '650px',
  40.                                  'xl': '900px',
  41.                              },
  42.                              attributes: attributes
  43.                          } %}
  44.                      {% else %}
  45.                          <div class="blog-image-placeholder">
  46.                              {% sw_icon 'placeholder' style {
  47.                                  'size': 'fluid'
  48.                             } %}
  49.                         </div>
  50.                     {% endif %}
  51.                 </a>
  52.         {% endblock %}
  53.         {% block sas_blog_card_body %}
  54.             <div class="card-body">
  55.                 <div class="d-flex flex-column">
  56.                     {% block sas_blog_card_title_date %}
  57.                         <p class="mt-2 mb-1 d-flex align-items-center blog-date">
  58.                             <small>
  59.                                 <time datetime="{{ article.publishedAt|date('c') }}">{{ article.publishedAt|format_date('short', locale=app.request.locale) }}</time>
  60.                             </small>
  61.                         </p>
  62.                     {% endblock %}
  63.                     {% block sas_blog_card_title %}
  64.                         <h2 class="card-title mt-0" itemprop="headline">
  65.                             {% block sas_blog_card_title_link %}
  66.                                 <a href="{{ articleUrl }}"
  67.                                     title="{{ article.translated.title }}"
  68.                                     class="text-decoration-none">
  69.                                      {{ article.translated.title }}
  70.                                  </a>
  71.                             {% endblock %}
  72.                         </h2>
  73.                     {% endblock %}
  74.                 </div>
  75.                 {% block sas_blog_card_teaser %}
  76.                     <p class="card-text font-size-small mb-0" itemprop="description">{{ article.translated.teaser }}</p>
  77.                 {% endblock %}
  78.             </div>
  79.         {% endblock %}
  80.         {% block sas_blog_card_footer %}
  81.         <div class="card-footer text-muted">
  82.             {% block sas_blog_card_footer_author %}
  83.                 {% if config('SasBlogModule').config.showAuthor %}
  84.                     {% if article.blogAuthor.media.url %}
  85.                         {% set attributes = {
  86.                             'class': 'blog-author-avatar',
  87.                             'alt': (article.blogAuthor.media.translated.alt ?: article.blogAuthor.media.fileName),
  88.                             'title': (article.blogAuthor.media.translated.title ?: article.blogAuthor.media.fileName)
  89.                         } %}
  90.                         {% sw_thumbnails 'blog-author-avatar-thumbnails' with {
  91.                             media: article.blogAuthor.media,
  92.                             sizes: {
  93.                             'xs': '80px'
  94.                         }
  95.                             } %}
  96.                     {% else %}
  97.                         <div class="blog-image-placeholder">
  98.                             {% sw_icon 'placeholder' style {
  99.                                 'size': 'fluid'
  100.                                 } %}
  101.                         </div>
  102.                     {% endif %}
  103.                     <p class="blog-author-display-name">{{ article.blogAuthor.displayName }}<br>
  104.                         <small class="text-muted">{{ article.blogAuthor.blogEntries|length }} {{ 'sas-blog.box.author.countEntries'|trans|sw_sanitize }}</small>
  105.                     </p>
  106.                 {% endif %}
  107.             {% endblock %}
  108.         </div>
  109.         {% endblock %}
  110.     </article>
  111. {% endblock %}