* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ declare(strict_types=1); namespace PrestaShop\Module\Mbo\Traits\Hooks; use PrestaShop\Module\Mbo\Exception\ExpectedServiceNotFoundException; use PrestaShop\Module\Mbo\Helpers\ErrorHelper; use Symfony\Bundle\FrameworkBundle\Routing\Router; trait UseDisplayModuleConfigureExtraButtons { /** * Hook displayModuleConfigureExtraButtons. * Add additional buttons on the module configure page's toolbar. */ public function hookDisplayModuleConfigureExtraButtons(): string { try { /** @var Router $router */ $router = $this->get('router'); if (null === $router) { throw new ExpectedServiceNotFoundException( 'Some services not found in UseDisplayModuleConfigureExtraButtons' ); } } catch (\Exception $e) { ErrorHelper::reportError($e); return ''; } $this->smarty->assign([ 'configure_toolbar_extra_buttons' => [ [ 'class' => 'btn-primary', 'title' => $this->trans('Check for updates', [], 'Modules.Mbo.Modulescatalog'), 'url' => $router->generate('admin_module_updates'), ], ], ]); return $this->fetch('module:ps_mbo/views/templates/hook/configure-toolbar.tpl'); } }