Create PrestaShop Module

In this fun-sized tutorial, I’m going to cover the PrestaShop Canvas Module. This significant code can be of great use to you once you are all up-to-speed.

So then let’s have a look, shall we?

Step #1:

In the following directory, make a directory with a name that is identical to the name of your module.

basedir/modules

I have named my module helloworld and so the name in the directory will also reflect helloworld. Once this is done, the structure should look something like this:

basedir/modules/helloworld

Step #2:

Next, name the file helloworld.php in the location mentioned below. Make sure the name of your module directory is the same as the file.

basedir/modules/helloworld/helloworld.php

This file should include the following code.

<?php

if (!defined('_PS_VERSION_'))
  exit;

class Helloworld extends Module
{
  private $errors = null;
  public function __construct()
  {
    // Author of the module
    $this->author = 'addify';
    // Name of the module ; the same that the directory and the module ClassName
    $this->name = 'helloworld';
    // Tab where it's the module (administration, front_office_features, ...)
    $this->tab = 'others';
    // Current version of the module
    $this->version = '1.0.0';
    //  Min version of PrestaShop wich the module can be install
    $this->ps_versions_compliancy['min'] = '1.5';
    // Max version of PrestaShop wich the module can be install
    $this->ps_versions_compliancy['max'] = '1.7';
    // OR $this->ps_versions_compliancy = array('min' => '1.5', 'max' => '1.6');
    //  The need_instance flag indicates whether to load the module's class when displaying the "Modules" page
    //  in the back-office. If set at 0, the module will not be loaded, and therefore will spend less resources
    //  to generate the page module. If your modules needs to display a warning message in the "Modules" page,
    //  then you must set this attribute to 1.
    $this->need_instance = 0;
    // Modules needed for install
    $this->dependencies = array();
    // e.g. $this->dependencies = array('blockcart', 'blockcms');
    // Limited country
    $this->limited_countries = array();
    // e.g. $this->limited_countries = array('fr', 'us');
    parent::__construct();
    // Name in the modules list
    $this->displayName = $this->l('Example');
    // A little description of the module
    $this->description = $this->l('Module Example');
    // Message show when you wan to delete the module
    $this->confirmUninstall = $this->l('Are you sure you want to delete this module ?');
    if ($this->active && Configuration::get('EXAMPLE_CONF') == '')
      $this->warning = $this->l('You have to configure your module');
    $this->errors = array();
  }
 
}

And you’re done. Well, that was simple, right?

The article ends here, but learning never does. I’m a strong believer of exploring improvement opportunities which is why I look forward to your feedback and/or suggestions.

Feel free to let me know what’s on your mind. Cheers!

on this page

blank

Caesar

A dedicated content writer with a deep interest in e-commerce and website development. His expertise lies in creating content that resonates with audiences and drives growth for online businesses.

Join our newsletter


    Subscribe to Our Newsletters.

    Be the first to get an exclusive offer and the latest news.