diff --git a/config.xml b/config.xml index 6f1e466..c5e449e 100644 --- a/config.xml +++ b/config.xml @@ -2,7 +2,7 @@ ps_mainmenu - + diff --git a/ps_mainmenu.php b/ps_mainmenu.php index e29ade9..db89d8b 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; @@ -100,6 +100,7 @@ public function install($delete_params = true) !$this->registerHook('actionObjectProductDeleteAfter') || !$this->registerHook('actionObjectProductAddAfter') || !$this->registerHook('actionCategoryUpdate') || + !$this->registerHook('actionMetaPageSave') || !$this->registerHook('actionShopDataDuplication') || !$this->registerHook('displayTop')) { return false; @@ -136,7 +137,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) @@ -987,6 +991,11 @@ public function hookActionCategoryUpdate($params) $this->clearMenuCache(); } + public function hookActionMetaPageSave($params) + { + $this->clearMenuCache(); + } + protected function getCacheDirectory() { $dir = _PS_CACHE_DIR_ . 'ps_mainmenu'; @@ -1489,8 +1498,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..005c06e --- /dev/null +++ b/upgrade/upgrade-2.3.5.php @@ -0,0 +1,29 @@ + + * @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')") + && $module->registerHook('actionMetaPageSave'); +}