Create a custom block programatically in drupal 8

Creating a block in drupal 8 is easy. Just follow the steps and you will be ready with a block

Go to your drupal 8 files and there is a module folder

In module folder create a folder named your module name. I am going to make a new folder named mahi and inside your module name you have to follow php PSR4 convention. So your file structure will be like modulename/src/Plugin/Block/filename.php.

The module file contains 2 important files one is modulename.info.yml and another is modulename.module

So it will look like this

 

Now open your .php file and add the following lines of code

<?php

namespace Drupal\mahi\Plugin\Block;
use Drupal\Core\Block\BlockBase;
/**
* Provides a ‘mahi’ block.
*
* @Block(
*     id = “mahi_block”,
*     admin_label = @Translation(“Mahi Block”),
*     category = @Translation(“Custom article block example”)
* )
*/
class MahiBlock extends BlockBase {
public function build() {
return array(
‘#type’ => ‘markup’,
‘#markup’ => ‘This block list the article.’,
);
}
}

Now open your .info.yml and write the following code

name: Mahi Block
description: A simple module for Block.
core: 8.x
package: Custom
dependencies:
– node
– block
type: module

Dont add anything in .module file

Now go to drupal-8 site and extend that module

Now go to block configuration and place your block at your choice

Refresh the site and your block will be displayed

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s