Disclaimer: This is a user generated content submitted by a member of the WriteUpCafe Community. The views and writings here reflect that of the author and not of WriteUpCafe. If you have any complaints regarding this post kindly report it to us.

Amigoways Explain how to create your first module on PrestaShop with these easy step-by-step instructions.

We need to create our module’s folder in the folder modules which is located in the root folder. The modules folder contains all the PrestaShop modules. All basic modules will be found here.

The folder structure will be shown below.

prestashop-folder

If the module folder name is newmodule, it should have a file name called newmodule.php.

The index is the starting file of the module.

In the  newmodule.php  file, you must create a constructor to have basic info such as compatibility, name, author and displayName. The format is as follows.

if (!defined('_PS_VERSION_'))

exit();

class Newmodule extends Module
{

public function __construct()

{

$this->name = ‘New Module’;

$this->tab = ”;

$this->version = ‘1.0.0’;

$this->author = ‘Amigoways Technologies’;

$this->need_instance = 1;

$this->ps_versions_compliancy = array(‘min’ => ‘1.7.1.0’, ‘max’ => _PS_VERSION_);

$this->bootstrap = true;

parent::__construct();

$this->displayName = ‘New Module’;

$this->description = ‘This module is a sample module.’;

$this->confirmUninstall = $this->l(‘Are you sure you want to uninstall?’, ‘newmodule’);

}

}

Then install & uninstall. functions to run the to-do function when the module is installed / uninstalled.

public function install()

{

//to do code

return parent::install() && $this->registerHook(‘hook_function_name’) ;

}

public function uninstall()

{

//to do code

if (!parent::uninstall() || !Configuration::deleteByName(‘newmodule’))

return false;

return true;

}

For eg., To display the content on the home page, the function name is like hookDisplayHome. hookDisplay is a hook to assist your code to the PrestaShop events.

public function hookDisplayHome($params)

{

$this->context->smarty->assign(

array(‘param’ => value )

);

return $this->display(__FILE__, module:newmodule/views/templates/hook/filename.tpl);

}

To load the view file,

$this->display(__FILE__, module:newmodule/views/templates/hook/filename.tpl)

To have the configuration settings for the admin, the function getContent is used to exist.

public function getContent()

{

$fields_form[0][‘form’] = array( ‘legend’ => array( ‘title’ => $this->l(‘New Module’), ),

‘input’ => array( array( ‘type’ => ‘text’, ‘label’ => $this->l(‘title’), ‘name’ => ‘title’, ‘lang’ => true, ‘size’ => 20, ‘required’ => true ), ),

‘submit’ => array( ‘title’ => $this->l(‘Save’), ‘class’ => ‘btn btn-default pull-right’ )

); $helper = new HelperForm();

$helper->module = $this;

$helper->name_controller = $this->name;

$helper->token = Tools::getAdminTokenLite(‘AdminModules’);

$helper->currentIndex = AdminController::$currentIndex.’&configure=’.$this->name;

$helper->title = $this->displayName;

$helper->show_toolbar = true; // false -> remove toolbar

$helper->toolbar_scroll = true; // yes – > Toolbar is always visible on the top of the screen.

$helper->submit_action = ‘submit’.$this->name;

$helper->toolbar_btn = array( ‘save’ => array( ‘desc’ => $this->l(‘Save’), ‘href’ => AdminController::$currentIndex.’&configure=’.$this->name.’&save’.$this->name. ‘&token=’.Tools::getAdminTokenLite(‘AdminModules’), ), ‘back’ => array( ‘href’ => AdminController::$currentIndex.’&token=’.Tools::getAdminTokenLite(‘AdminModules’), ‘desc’ => $this->l(‘Back to list’) ) );

// < load current value > $helper->fields_value[‘title’] = Configuration::get(‘title’);

return $helper->generateForm($fields_form);

}

Conclusion


Amigoways regularly publishes tutorial blog posts on Module & Plugin development. Stay in touch with them for the latest updates and to learn more about building advanced modules.

Learn how to create your first module on PrestaShop 1.16 🎯💻 👉 https://www.amigoways.com/blog/how-to-create-your-first-module-on-prestashop-1-16/

Tag: PrestaShop, guide of PrestaShop module, module guide, PrestaShop guide

https://www.amigoways.com/
Do you like Amigoways Technologies Pvt Ltd's articles? Follow on social!

Login

Welcome to WriteUpCafe Community

Join our community to engage with fellow bloggers and increase the visibility of your blog.
Join WriteUpCafe