templates/Frontend/Templates/Partials/opengraph.html.twig line 1

Open in your IDE?
  1. {# OpenGraph Meta Tags #}
  2. {% if item is defined %}
  3.     {# Determine OG Title #}
  4.     {% set og_title = item.ogTitle|default(item.seoPageTitle|default(item.name|default(''))) %}
  5.     {% if not og_title %}
  6.         {% set og_title = config_helper.getValue('og_default_title', config_helper.getValue('website_name', '')) %}
  7.     {% endif %}
  8.     
  9.     {# Determine OG Description #}
  10.     {% set og_description = item.ogDescription|default(item.seoDescription|default('')) %}
  11.     {% if not og_description %}
  12.         {% set og_description = config_helper.getValue('og_default_description', '') %}
  13.     {% endif %}
  14.     
  15.     {# Determine OG Image #}
  16.     {% set og_image = '' %}
  17.     {% if item.ogImage %}
  18.         {% set og_image = app.request.schemeAndHttpHost ~ '/files/' ~ item.ogImage %}
  19.     {% elseif item.primaryImage %}
  20.         {% set og_image = app.request.schemeAndHttpHost ~ '/files/' ~ item.primaryImage %}
  21.     {% else %}
  22.         {% set default_image = config_helper.getValue('og_default_image', '') %}
  23.         {% if default_image %}
  24.             {% if default_image starts with 'http' %}
  25.                 {% set og_image = default_image %}
  26.             {% else %}
  27.                 {% set og_image = app.request.schemeAndHttpHost ~ default_image %}
  28.             {% endif %}
  29.         {% endif %}
  30.     {% endif %}
  31.     
  32.     {# Determine OG Type #}
  33.     {% set og_type = item.ogType|default(config_helper.getValue('og_default_type', 'website')) %}
  34.     
  35.     {# Determine OG URL #}
  36.     {% set og_url = item.ogUrl|default(app.request.uri) %}
  37.     
  38.     {# Twitter Card Type #}
  39.     {% set twitter_card = item.twitterCard|default(config_helper.getValue('twitter_default_card', 'summary_large_image')) %}
  40.     
  41.     {# Twitter Site #}
  42.     {% set twitter_site = item.twitterSite|default(config_helper.getValue('twitter_site', '')) %}
  43. {% else %}
  44.     {# Fallback for non-item pages #}
  45.     {% set og_title = config_helper.getValue('og_default_title', config_helper.getValue('website_name', '')) %}
  46.     {% set og_description = config_helper.getValue('og_default_description', '') %}
  47.     {% set default_image = config_helper.getValue('og_default_image', '') %}
  48.     {% if default_image %}
  49.         {% if default_image starts with 'http' %}
  50.             {% set og_image = default_image %}
  51.         {% else %}
  52.             {% set og_image = app.request.schemeAndHttpHost ~ default_image %}
  53.         {% endif %}
  54.     {% else %}
  55.         {% set og_image = '' %}
  56.     {% endif %}
  57.     {% set og_type = config_helper.getValue('og_default_type', 'website') %}
  58.     {% set og_url = app.request.uri %}
  59.     {% set twitter_card = config_helper.getValue('twitter_default_card', 'summary_large_image') %}
  60.     {% set twitter_site = config_helper.getValue('twitter_site', '') %}
  61. {% endif %}
  62. {# OG Site Name #}
  63. {% set og_site_name = config_helper.getValue('og_site_name', config_helper.getValue('website_name', '')) %}
  64. {# Facebook App ID #}
  65. {% set fb_app_id = config_helper.getValue('facebook_app_id', '') %}
  66. {# Output OpenGraph Meta Tags #}
  67. {% if og_title %}
  68. <meta property="og:title" content="{{ og_title }}" />
  69. {% endif %}
  70. {% if og_description %}
  71. <meta property="og:description" content="{{ og_description }}" />
  72. {% endif %}
  73. {% if og_image %}
  74. <meta property="og:image" content="{{ og_image }}" />
  75. <meta property="og:image:secure_url" content="{{ og_image }}" />
  76. {% endif %}
  77. {% if og_type %}
  78. <meta property="og:type" content="{{ og_type }}" />
  79. {% endif %}
  80. {% if og_url %}
  81. <meta property="og:url" content="{{ og_url }}" />
  82. {% endif %}
  83. {% if og_site_name %}
  84. <meta property="og:site_name" content="{{ og_site_name }}" />
  85. {% endif %}
  86. {% if fb_app_id %}
  87. <meta property="fb:app_id" content="{{ fb_app_id }}" />
  88. {% endif %}
  89. {# Twitter Card Meta Tags #}
  90. {% if twitter_card %}
  91. <meta name="twitter:card" content="{{ twitter_card }}" />
  92. {% endif %}
  93. {% if twitter_site %}
  94. <meta name="twitter:site" content="{{ twitter_site }}" />
  95. {% endif %}
  96. {% if og_title %}
  97. <meta name="twitter:title" content="{{ og_title }}" />
  98. {% endif %}
  99. {% if og_description %}
  100. <meta name="twitter:description" content="{{ og_description }}" />
  101. {% endif %}
  102. {% if og_image %}
  103. <meta name="twitter:image" content="{{ og_image }}" />
  104. {% endif %}
  105. {# Additional meta tags for better social sharing #}
  106. <meta property="og:locale" content="en_GB" />