prestashop顶级菜单

时间:2012-12-28 09:11:20

标签: php smarty prestashop

我为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结构?

2 个答案:

答案 0 :(得分:1)

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

所以你需要在blocktopmenu.php中更改$ this-&gt; _menu的值(需要更改的内容,因为这个属性中有很多html代码)

答案 1 :(得分:1)

显然在没有编辑模块的情况下无法编辑顶层菜单, 我找到了一个聪明的replace函数

的小解决方案

类似的东西

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

你也可以使用一些jQuery技巧