vendor/store.shopware.com/odsnews/src/Resources/views/storefront/layout/meta.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@storefront/storefront/layout/meta.html.twig' %}
  2. {% set news = page.header.navigation.active %}
  3. {% set odsNewsId = news.extensions.ods_news.id %}
  4. {% set translationId = odsNewsId ~ '-' ~ context.salesChannel.languageId %}
  5. {% set odsNewsMedia = news.extensions.ods_news.translations.elements[translationId].media %}
  6. {# Image meta tags #}
  7. {% block layout_head_meta_tags_image_og %}{% if odsNewsMedia %}{% sw_include '@odsNews/storefront/layout/news/meta-image.html.twig' with { 'odsNewsMedia': odsNewsMedia } %}{% else %}{{ parent() }}{% endif %}{% endblock %}
  8. {% block layout_head_meta_tags_image_twitter %}{% if odsNewsMedia %}{% sw_include '@odsNews/storefront/layout/news/meta-image.html.twig' with { 'odsNewsMedia': odsNewsMedia } %}{% else %}{{ parent() }}{% endif %}{% endblock %}
  9. {% block layout_head_meta_tags_image_meta %}{% if odsNewsMedia %}{% sw_include '@odsNews/storefront/layout/news/meta-image.html.twig' with { 'odsNewsMedia': odsNewsMedia } %}{% else %}{{ parent() }}{% endif %}{% endblock %}
  10. {% block layout_head_meta_tags_schema_webpage %}
  11.     {{ parent() }}
  12.     {% if news.type == 'news' %}
  13.         {% block layout_head_meta_tags_schema_webpage_news %}
  14.             {% set languageId = context.salesChannel.languageId %}
  15.             {% set odsNewsId = news.extensions.ods_news.id %}
  16.             {% set translationId = odsNewsId ~ '-' ~ context.salesChannel.languageId %}
  17.             {% set odsNewsMedia = news.extensions.ods_news.translations.elements[translationId].media %}
  18.             <script type="application/ld+json">
  19.                 {
  20.                     "@context": "https://schema.org",
  21.                     "@type": "NewsArticle",
  22.                     "mainEntityOfPage": {
  23.                         "@type": "WebPage",
  24.                         "@id": "{{ seoUrl('frontend.navigation.page', { navigationId: news.id }) }}"
  25.                     },
  26.                     "headline": "{{ news.translated.name }}",
  27.                     "image": [
  28.                         {% if odsNewsMedia.thumbnails.elements|length %}
  29.                             {% for item in odsNewsMedia.thumbnails.elements %}
  30.                                 "{{ item.url }}"{{ loop.last ? '' : ',' }}
  31.                             {% endfor %}
  32.                         {% endif %}
  33.                     ],
  34.                     "datePublished": "{{ news.extensions.ods_news.publicationDate|date }}",
  35.                     "dateModified": "{{ news.extensions.ods_news.updatedAt|date }}",
  36.                     "author": {
  37.                         "@type": "Person",
  38.                         "name": "{{ news.extensions.ods_news.author }}"
  39.                     },
  40.                     "publisher": {
  41.                         "@type": "Organization",
  42.                         "name": "{{ config("core").basicInformation.shopName }}",
  43.                         "logo": {
  44.                             "@type": "ImageObject",
  45.                             "url": "{{ theme_config("sw-logo-desktop") |sw_encode_url }}"
  46.                         }
  47.                     },
  48.                     "description": "{{ news.extensions.ods_news.translated.teaser }}"
  49.                 }
  50.             </script>
  51.         {% endblock %}
  52.     {% endif %}
  53. {% endblock %}