Jump to content

Center logo dynamically in menu [prestashop 1.7] Theme classic


Recommended Posts

Merci Divine pour votre magnifique réponse.

La solution

{if $smarty.foreach.i.index === 3 && $depth === 0} 
&& $depth === 0 => pour subcategory 

{assign var=_counter value=0}
{function name="menu" nodes=[] depth=0 parent=null}
    {if $nodes|count}
      <ul class="top-menu" {if $depth == 0}id="top-menu"{/if} data-depth="{$depth}">
        {foreach from=$nodes item=node name=i}
        

        {if $smarty.foreach.i.index === 3 && $depth === 0}
          
             <li id="_desktop_logo">
                    {if $page.page_name == 'index'}
                      <h1>
                        <a href="{$urls.base_url}">
                          <img class="logo img-responsive" src="{$shop.logo}" alt="{$shop.name}">
                        </a>
                      </h1>
                    {else}
                        <a href="{$urls.base_url}">
                          <img class="logo img-responsive" src="{$shop.logo}" alt="{$shop.name}">
                        </a>
                    {/if}
             </li>
             
          {/if}
  
            <li class="{$node.type}{if $node.current} current {/if}" id="{$node.page_identifier}">
            {assign var=_counter value=$_counter+1}
              <a
                class="{if $depth >= 0}dropdown-item{/if}{if $depth === 1} dropdown-submenu{/if}"
                href="{$node.url}" data-depth="{$depth}"
                {if $node.open_in_new_window} target="_blank" {/if}
              >
                {if $node.children|count}
                  {* Cannot use page identifier as we can have the same page several times *}
                  {assign var=_expand_id value=10|mt_rand:100000}
                  <span class="float-xs-right hidden-md-up">
                    <span data-target="#top_sub_menu_{$_expand_id}" data-toggle="collapse" class="navbar-toggler collapse-icons">
                      <i class="material-icons add">&#xE313;</i>
                      <i class="material-icons remove">&#xE316;</i>
                    </span>
                  </span>
                {/if}
                {$node.label}
              </a>
              {if $node.children|count}
              <div {if $depth === 0} class="popover sub-menu js-sub-menu collapse"{else} class="collapse"{/if} id="top_sub_menu_{$_expand_id}">
                {menu nodes=$node.children depth=$node.depth parent=$node}
              </div>
              {/if}
            </li>

        {/foreach}
      </ul>
    {/if}
{/function}

<div class="menu js-top-menu position-static hidden-sm-down" id="_desktop_top_menu">
    {menu nodes=$menu.children}
    <div class="clearfix"></div>
</div>



For More about foreach smarty https://www.smarty.net/docs/en/language.function.foreach.tpl 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...