Drupal 8 Block Çıktısı Veren Modül Oluşturma

WhatsApp

Seyfettin KAHVECİ
Seyfettin KAHVECİ
20 dakika okuma süresi

Drupal 8 için geliştirdiğiniz modülün bazı işlemlerinin sonuçlarını block içerisinde göstermek istiyorsanız öncelikle modülünüzün .info.yml dosyasında block'u zorunlu hale getirmelisiniz. Bunu yapmasanızda modülünuz çalışır ancak block açık olmayan bir Drupal sitelerde modülünüz hata verecek ve sistemi çalışmaz hale getirecektir. 

name: Drupart Custom Module Block
description: Drupart Custom Module Block
core: 8.x
package: DRUPART
dependencies:
- block
type: module

Modülünüz altında src/Plugin/Block dizinini ve  bu dizinin altında block_adi.php adında block işlemlerinin yapılacağı dosyayı yaratınız. 

-src
--Plugin
---Block

Daha sonra yaratmış olduğunuz dosyanızın başına namespace Drupal\modul_adi\Plugin\Block; tanımlamasını yapınız ve Block sonucunda görünmesi gereken verileri build fonksiyonu altında geri döndürünüz. block_adi.php ile bu dosyanının içerisinde bulunan class adınıda aynı adda oluşturmalısınız.

<?php
namespace Drupal\modul_adi\Plugin\Block;
use Drupal\Core\Block\BlockBase;

/**
 * Provides a 'contact' block.
 *
 * @Block(
 *   id = "block_adi",
 *   admin_label = @Translation("Custom Module Block"),
 *   category = @Translation("Custom Module Block")
 * )
 */
class block_adi extends BlockBase {
  /**
   * {@inheritdoc}
   */   
  public function build() {
    return array(
      '#type' => 'markup',
      '#markup' => "Bu Modulun Çıktısı: Drupart'a Hoşgeldin",
     );
  }
}
?>

Oluşturmuş olduğunuz block'un Block Layout'daki adını değiştirmek isterseniz @block tanımlaması altında bulunan bölümden değiştirebilirsiniz.

/**
 * Provides a 'contact' block.
 *
 * @Block(
 *   id = "block_adi _ Dosya adı ve class adıyla aynı olmalıdır.",
 *   admin_label = @Translation("Custom Module Block - Buralar Değiştirilebilir"),
 *   category = @Translation("Custom Module Block - Buralar Değiştirilebilir")
 * )
 */

Ofislerimiz

Drupart AR-GE

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

+90 262 678 8872 

[email protected]

Frankfurt

Bleichstr. 26 64283 Darmstadt
Deutschland

+49 (0) 6151 – 492 70 23 

[email protected]

Dublin

20 Harcourt Street, Dublin 2, D02 H364

+353 (87) 198 6950 

[email protected]