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") * ) */
GOSB Teknopark Hi-Tech Bina 3.Kat B3 Gebze - KOCAELİ