Knowband Blog | Ecommerce Modules

Como criar Breadcrumb no PrestaShop 1.7?

Introdução

O Breadcrumb permite que um usuário mantenha a localização nos sites. Pode-se criar facilmente o Breadcrumb no Prestashop. Se você estiver criando um módulo que tenha uma página separada na frente, crie um controlador frontal estendendo o arquivo ModuleFrontController e esse arquivo ModuleFrontController estender o FrontController, que tem a seguinte função:

função protegida getBreadcrumbLinks () {$ breadcrumb = array (); $ breadcrumb ['links'] [] = array ('title' => $ this-> getTranslator () -> trans ('Home', array (), 'Shop.Theme.Global'), 'url' => $ this-> context-> link-> getPageLink ('index', true),); return $ breadcrumb; }

Como adicionar?

Agora, para criar o Breadcrumb para sua página, você apenas tem que criar a mesma função em seu front controller (que você deve ter criado extendendo o ModuleFrontController) e anexar o seu título Breadcrumb e link com o Breadcrumb pai. Por favor, olhe no seguinte código para entender melhor:

função protegida getBreadcrumbLinks () {$ breadcrumb = parent :: getBreadcrumbLinks (); / * Pega o array Breadcrumb da função pai que está situada no FrontController.php * / $ breadcrumb ['links'] [] = array ('title' => $ this-> module-> l ('level1', 'Current_controller_name'), / * Título que você quer dar ao local * / 'url' => $ this-> contexto-> link-> getModuleLink ('module_name', 'Current_controller_name', array (), (bool) Configuração :: get ('PS_SSL_ENABLED')), / * URL que você deseja fornecer para um local * /); $ breadcrumb ['links'] [] = array ('title' => $ this-> module-> l ('level2', 'Current_controller_name'), / * Título que você quer dar ao local * / 'url '=> $ this-> contexto-> link-> getModuleLink (' module_name ',' Current_controller_name ', array (), (bool) Configuração :: get (' PS_SSL_ENABLED ')), / * URL que você deseja fornecer uma localização */ ); $ breadcrumb ['links'] [] = array ('title' => $ this-> module-> l ('level3', 'Current_controller_name'), / * Título que você quer dar ao local * / 'url '=> $ this-> contexto-> link-> getModuleLink (' module_name ',' Current_controller_name ', array (), (bool) Configuração :: get (' PS_SSL_ENABLED ')), / * URL que você deseja fornecer uma localização */ ); return $ breadcrumb; }

Como vai ficar na sua página?

Você tem que adicionar a função acima mencionada no front controller que você criou. Depois de adicionar o código acima no Front Controller, a Breadcrumb será mostrada na primeira página como abaixo:

Dica Bônus:

Se você quiser fazer algumas alterações (como remover) no Breadcrumbs, então você pode fazer o mesmo usando o seguinte arquivo:
/themes/classic/templates/_partials/breadcrumb.tpl