Ana içeriğe atla

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

Seyfettin Kahveci
Seyfettin Kahveci
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 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]