Как я могу добавить html к блоку в шаблоне модуля в PrestaShop?

#php #prestashop #smarty #prestashop-1.7 #smarty3

#php #prestashop #умный #prestashop-1.7 #smarty3

Вопрос:

Я разрабатываю свою собственную тему в PrestaShop (1.7.6), и я хочу ps_mainmenu быть в sidenav.

Для этого я хочу создать sidenav div сразу после тела.

Вот мой mytheme/modules/ps_mainmenu/ps_mainmenu.tpl код:

 {block name='hook_after_body_opening_tag' append}
  <div class="sidenav">
    {* ... *}
  </div>
{/block}

{* Button to open sidenav *}
<div class="menu">
  <i class="material-icons">menu</i>
</div>
  

Но sidenav div создается непосредственно перед моей кнопкой меню, а не после div

 <!-- begin module:ps_mainmenu/ps_mainmenu.tpl -->
<!-- begin /var/www/html/themes/mytheme/modules/ps_mainmenu/ps_mainmenu.tpl -->
<div class="sidenav"></div>

<div class="menu">
  <i class="material-icons">menu</i>
</div>
<!-- end /var/www/html/themes/mytheme/modules/ps_mainmenu/ps_mainmenu.tpl -->
<!-- end module:ps_mainmenu/ps_mainmenu.tpl -->
  

Ответ №1:

Вы пробовали использовать {widget name=’ps_mainmenu’} ?

Вы можете разместить свое меню там, где вам нравится.

Комментарии:

1.Моя проблема в том, что мне нужно разделить ps_mainmenu на кнопку и sidenav. В идеале я хотел бы, чтобы моя кнопка оставалась с моим текущим хуком, но я хотел бы принудительно отображать часть sidenav сразу после открытия <body> . В настоящее время я перемещаю свой sidenav с помощью javascript, но он кажется грязным