Ana içeriğe atla

Drupal 8 Programatik Logo Değiştirme

8 dakika okuma süresi

Drupal 8 'de logoyu programatik olarak değiştirebilmek için logonun bulunduğu block olan " block--system-branding-block.html.twig " dosyasını templates altındaki block klasöründen açıp düzenleme işlemi yapılmalıdır.

block--system-branding-block.html.twig dosyasının default olarak gelen verisi aşağıdaki gibidir.
{% extends "block.html.twig" %}
{#
/**
 * @file
 * Theme override for a branding block.
 *
 * Each branding element variable (logo, name, slogan) is only available if
 * enabled in the block configuration.
 *
 * Available variables:
 * - site_logo: Logo for site as defined in Appearance or theme settings.
 * - site_name: Name for site as defined in Site information settings.
 * - site_slogan: Slogan for site as defined in Site information settings.
 */
#}
{% block content %}
  {% if site_logo %}
    <a href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home" class="site-logo">
      <img src="{{ site_logo }}" alt="{{ 'Home'|t }}" />
    </a>
  {% endif %}
  {% if site_name %}
    <div class="site-name">
      <a href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home">{{ site_name }}</a>
    </div>
  {% endif %}
  {% if site_slogan %}
    <div class="site-slogan">{{ site_slogan }}</div>
  {% endif %}
{% endblock %}
 

Temamının altında oluşturulan images klasörünün içerisine yeni logo aktarılır. Yeni logo yolu  /themes/mytheme/images/yeni-logo.png şeklinde oluşmuş olur.


Block--system-branding-block.html.twig dosyasının içerini açarak;

  {% if site_logo %}
    <a href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home" class="site-logo">
      <img src="{{ site_logo }}" alt="{{ 'Home'|t }}" />
    </a>
  {% endif %}

Yukarıdaki kısmı aşağıdaki gibi düzenleyerek sayfanın çoklu dil olma durumlarına göre logo değiştirilebilir. 

  {% if site_logo %}
  {% if (path('<front>') == '/en') %}   {# Dil eğer ingilizce ise şu işlemi yap #}
    <a href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home" class="site-logo">
        <img src="/themes/mytheme/images/yeni-logo.png" alt="{{ 'Home'|t }}" />
    </a>
  {% else %}
      <a href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home" class="site-logo">
        <img src="{{ site_logo }}" alt="{{ 'Home'|t }}" />
      </a>   
  {% endif %} 

Ofislerimiz

Drupart Locations

Ofislerimiz

Drupart AR-GE

GOSB Teknopark Hi-Tech Bina 3.Kat B3 Gebze - KOCAELİ

+90 262 678 8872

+90 216 706 12 58 

[email protected]

Londra

151 West Green Road, London, England

+44 203 815 6478

[email protected]

Newark

112 Capitol Trail Suite, A437 Newark DE, 19711

+1 (740) 666 6255

[email protected]

Wiesbaden

Hinterbergstraße 27
65207 Wiesbaden
Deutschland

+49 (0) 6151 – 492 70 23

[email protected]