2

我为 prestashop 构建了一个主题,我想更改菜单的 html 结构。actuel 顶部菜单位于modules/blocktopmenu/blocktopmenu.tpl

{if $MENU != ''}
</div>

<!-- Menu -->
<div class="sf-contener clearfix">
    <ul class="sf-menu clearfix">
        {$MENU}
        {if $MENU_SEARCH}
            <li class="sf-search noBack" style="float:right">
                <form id="searchbox" action="{$link->getPageLink('search')}" method="get">
                    <p>
                        <input type="hidden" name="controller" value="search" />
                        <input type="hidden" value="position" name="orderby"/>
                        <input type="hidden" value="desc" name="orderway"/>
                        <input type="text" name="search_query" value="{if isset($smarty.get.search_query)}{$smarty.get.search_query|escape:'htmlall':'UTF-8'}{/if}" />
                    </p>
                </form>
            </li>
        {/if}
    </ul>
    <div class="sf-right">&nbsp;</div>

    <!--/ Menu -->
{/if}

如何编辑{$MENU}html结构?

4

2 回答 2

1

显然没有编辑模块就无法编辑顶部菜单,我找到了一个带有smartyreplace功能的小解决方案

类似的东西

{$HOOK_TOP|replace:'sf-contener':''|replace:'sf-menu':'ftopMenu left'|replace:'id="header_links"':'id="ftopright" class="right"'} 

你也可以使用一些 jQuery 技巧

于 2012-12-29T23:06:08.487 回答
1

在同一个模块中,在 .php 文件 modules/blocktopmenu/blocktopmenu.php smarty $MENU 变量被赋值 $this->smarty->assign('MENU', $this->_menu);

所以你需要在blocktopmenu.php中改变$this->_menu的值(需要改变什么,因为这个属性中有很多html代码)

于 2012-12-29T01:52:16.633 回答