From f775adb46696b5e19c916a2177ade8118b42aa34 Mon Sep 17 00:00:00 2001 From: bibips <6272184+bibips@users.noreply.github.com> Date: Sat, 3 Jun 2023 23:05:41 +0200 Subject: [PATCH] Add hook actionMainMenuModifier Thanks this hook it's possible to alter main menu. For instance you can display menu items per customer or per group of customer --- ps_mainmenu.php | 13 ++++++++++--- upgrade/upgrade-2.3.5.php | 28 ++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 upgrade/upgrade-2.3.5.php diff --git a/ps_mainmenu.php b/ps_mainmenu.php index e29ade9..d361e23 100644 --- a/ps_mainmenu.php +++ b/ps_mainmenu.php @@ -69,7 +69,7 @@ public function __construct() { $this->name = 'ps_mainmenu'; $this->tab = 'front_office_features'; - $this->version = '2.3.4'; + $this->version = '2.3.5'; $this->author = 'PrestaShop'; $this->imageFiles = null; @@ -136,7 +136,10 @@ public function installDb() `label` VARCHAR( 128 ) NOT NULL , `link` VARCHAR( 128 ) NOT NULL , INDEX ( `id_linksmenutop` , `id_lang`, `id_shop`) - ) ENGINE = ' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET=utf8mb4;'); + ) ENGINE = ' . _MYSQL_ENGINE_ . ' DEFAULT CHARSET=utf8mb4;') && + Db::getInstance()->execute(' + INSERT IGNORE INTO `' . _DB_PREFIX_ . 'hook` (`name`, `title`, `description`) VALUES + (\'actionMainMenuModifier\', \'Modify main menu view data\', \'This hook allows to alter main menu data\');'); } public function uninstall($delete_params = true) @@ -1489,8 +1492,12 @@ public function getWidgetVariables($hookName, array $configuration) public function renderWidget($hookName, array $configuration) { + $menu = $this->getWidgetVariables($hookName, $configuration); + + Hook::exec('actionMainMenuModifier', ['menu' => &$menu]); + $this->smarty->assign([ - 'menu' => $this->getWidgetVariables($hookName, $configuration), + 'menu' => $menu, ]); return $this->fetch('module:ps_mainmenu/ps_mainmenu.tpl'); diff --git a/upgrade/upgrade-2.3.5.php b/upgrade/upgrade-2.3.5.php new file mode 100644 index 0000000..9749377 --- /dev/null +++ b/upgrade/upgrade-2.3.5.php @@ -0,0 +1,28 @@ + + * @copyright Since 2007 PrestaShop SA and Contributors + * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) + */ +if (!defined('_PS_VERSION_')) { + exit; +} + +function upgrade_module_2_3_5($module) +{ + return Db::getInstance()->execute('INSERT IGNORE INTO `' . _DB_PREFIX_ . "hook` (`name`, `title`, `description`) VALUES + ('actionMainMenuModifier', 'Modify main menu view data', 'This hook allows to alter main menu data')"); +}