2

prestashopのテーマを作成していますが、メニューのhtml構造を変更したいと思います。アクチュエルトップメニューは下に配置されます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

同じモジュールで、.phpファイルでmodules / blocktopmenu / blocktopmenu.php smarty$MENU変数が割り当てられます $this->smarty->assign('MENU', $this->_menu);

したがって、blocktopmenu.phpで$ this-> _ menuの値を変更する必要があります(このプロパティには多くのhtmlコードがあるため、変更する必要があります)

于 2012-12-29T01:52:16.633 に答える
1

どうやらモジュールを編集せずにトップメニューを編集する方法はないようです、私はスマートreplaceな機能を備えた小さな解決策を見つけました

そんな感じ

{$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 に答える