Sitenin dilinin id'si ve ismi

Aşağıdaki kod ile sitenin seçilmiş olan diliniz getirir.

<?php
// Get language manager service.
$languageManager = \Drupal::service('language_manager');
//Get the current lanuage code.
$langcode = $languageManager->getCurrentLanguage()->getId();
//Gett the current language name.
$langname = $languageManager->getCurrentLanguage()->getName();

Programatik olarak Node oluşturma

// Node deposu getir.
$nodeStorage = \Drupal::service('entity.manager')->getStorage('node');
// Set node content.
$content = [
    'type' => 'article',
    'title' => 'title',
    'body' => [
        'value' => 'Lorem ipsum dolor sit amet...',
        'format' => 'basic_html'
    ],
    'uid' => $uid
];
// Node oluşturma.
$node = $nodeStorage->create($content);
// Node-u kayıt et.
$node->save();

Check if Entity has a field

// Get entity storage.
$entityName = 'node';
$entityStorage = \Drupal::service('entity.manager')->getStorage($entityName);
// Load the entity by $eid - entity id.
$eid = 1;
$entity = $entityStorage->load($eid);
// Load field type by field name.
$fieldName = 'field_custom';
// Check if the entity has this $fieldName.
if ($entity->hasField($fieldName)) {
    // Do something...
}

Programatik olarak modülün durumunu sorgulama

Aşağıdaki kod ile modülün aktif veya aktif olmadığını test edebilirsiniz.

// Modülün makine ismi.
$moduleName = 'admin_toolbar';
//  $moduleName durumunu test ed'n'z.
$moduleHandler = \Drupal::service('module_handler');
if ($moduleHandler->moduleExists($moduleName)) {
    // aktif ise
}

Programatik olarak kullanıcıyı kullanıcı adı ve şifre ile doğrulama

$uid = \Drupal::service('user.auth')-&gt;authenticate($username, $password);

if ($uid) {
   // Başarıyla doğrulandığı takdirde ...
}

Drupal 8 Sayfa Yönlendirme, drupal_goto

Drupal 8'de drupal_goto fonksiyonu kaldırıldı, onun yerine RedirectResponse sınıfı kullanılmaya başlandı. Aşağıdaki örnekte mevcut sayfanın URL'si alınarak tekrar kendi içinde yönlendirme yapılmaktadır.

$current_path = \Drupal::service('path.current')->getPath();
$response = new RedirectResponse('/beyin-bilimi');
$response->send();
return;

Drupal 8'de Programatik Olarak Webform Submission Yükleme ve Düzenleme

Programatik olarak bir webform girdisini görüntülemek ve düzenlemek için aşağıdaki kodu kullanabilirsiniz.

$webform_submission = \Drupal\webform\entity\WebformSubmission::load($sid);
$data = $webform_submission->getData();
$data['adiniz'] = 'Mustafa';
$webform_submission->setData($data);
$webform_submission->save();      

Dil Değiştiricide ENGLİSH'i değiştirmek

Drupal 8'de Dil Değiştirici - Language Switcher'da yer alan İngilizce dilini (ENGLİSH) arayüzden translate edemiyoruz, orjinal dil olduğu için English olarak yer alıyor. Tema dosyasına aşağıdaki eklemeyi yaparak varsayınlan olarak gelen ENGLİSH metnini EN olarak değiştirebilirsiniz.

function MYTHEME_preprocess_links__language_block(&$variables) {
    $variables['links']['en']['link']['#title'] = 'EN';
}

ldap_user modülünü kaldırmak

Drupal 8'de ldap_user modülünü kaldırmak istediğinizde problem yaşayabiliyorsunuz.  Aşağıdaki gibi bir bağımlılıktan dolayı modül kaldırılamıyor.

There is data for the field ldap_user_ldap_exclude on entity type User

Bu durumu düzeltmek ve modülü kaldırabilmek için aşağıdaki sql'i kullanabilirsiniz.

Drupal 8 Programatik Popup Mesaj Oluşturma

Drupal 8 ile kendinize özel popup mesajı oluşturmak için sisteminizde bootstrap kütüphanesinin ekli olması gerekmektedir.
 

İlk olarak kendimize bir region oluşturalım.