// Fixed tabs

This commit is contained in:
Damien Metzger committed 2013-10-11 12:10:24 +02:00
1 parent b61528057a
commit c68101653d
5 files changed
+34 -37

No files matched your search

@@ -43,10 +43,14 @@
{elseif $input.type == 'default_tab'} {elseif $input.type == 'default_tab'}
<select name="{$input.name}" id="{$input.name}"> <select name="{$input.name}" id="{$input.name}">
{foreach $input.options AS $option} {foreach $input.options AS $option}
<optgroup label="{$option.name|escape:'htmlall':'UTF-8'}"></optgroup> {if $option.children|@count}
{foreach $option.children AS $children} <optgroup label="{$option.name|escape:'htmlall':'UTF-8'}"></optgroup>
<option value="{$children.id_tab}" {if $fields_value[$input.name] == $children.id_tab}selected="selected"{/if}>&nbsp;&nbsp;{$children.name|escape:'htmlall':'UTF-8'}</option> {foreach $option.children AS $children}
{/foreach} <option value="{$children.id_tab}" {if $fields_value[$input.name] == $children.id_tab}selected="selected"{/if}>&nbsp;&nbsp;{$children.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
{else}
<option value="{$option.id_tab}" {if $fields_value[$input.name] == $option.id_tab}selected="selected"{/if}>&nbsp;&nbsp;{$option.name|escape:'htmlall':'UTF-8'}</option>
{/if}
{/foreach} {/foreach}
</select> </select>
{else} {else}
+17 -21
View File
@@ -5,35 +5,31 @@
<span class="menu-collapse"> <span class="menu-collapse">
<i class="icon-align-justify"></i> <i class="icon-align-justify"></i>
</span> </span>
{if $controller_name != 'AdminLogin'}
<ul class="menu"> <ul class="menu">
<li class="maintab {if $smarty.get.controller == 'AdminDashboard'}active{/if}">
<a href="{$link->getAdminLink('AdminDashboard')|escape:'htmlall':'UTF-8'}" class="title">
<i class="icon-AdminDashboard"></i>
<span class="title">{l s='Dashboard'}</span>
</a>
</li>
{foreach $tabs as $t} {foreach $tabs as $t}
{if $t.active} {if $t.active}
<li class="maintab {if $t.sub_tabs}has_submenu{/if} {if $t.current}active{/if}" id="maintab{$t.id_tab}" data-submenu="{$t.id_tab}"> <li class="maintab {if $t.current}active{/if} {if $t.sub_tabs|@count}has_submenu{/if}" id="maintab{$t.id_tab}" data-submenu="{$t.id_tab}">
<a href="{if count($t.sub_tabs) > 0}{$t.sub_tabs[0].href}{else}#{/if}" class="title" > <a href="{if $t.sub_tabs|@count}{$t.sub_tabs[0].href}{else}{$t.href}{/if}" class="title" >
<i class="icon-{$t.class_name}"></i> <i class="icon-{$t.class_name}"></i>
<span class="title">{if $t.name eq ''}{$t.class_name}{else}{$t.name}{/if}</span> <span class="title">{if $t.name eq ''}{$t.class_name}{else}{$t.name}{/if}</span>
</a> </a>
<ul class="submenu"> {if $t.sub_tabs|@count}
{foreach from=$t.sub_tabs item=t2} <ul class="submenu">
{if $t2.active} {foreach from=$t.sub_tabs item=t2}
<li {if $t2.current} class="active"{/if}> {if $t2.active}
<a href="{$t2.href|escape:'htmlall':'UTF-8'}"> <li {if $t2.current} class="active"{/if}>
{if $t2.name eq ''}{$t2.class_name}{else}{$t2.name|escape:'htmlall':'UTF-8'}{/if} <a href="{$t2.href|escape:'htmlall':'UTF-8'}">
</a> {if $t2.name eq ''}{$t2.class_name}{else}{$t2.name|escape:'htmlall':'UTF-8'}{/if}
</li> </a>
{/if} </li>
{/foreach} {/if}
</ul> {/foreach}
</ul>
{/if}
</li> </li>
{/if} {/if}
{/foreach} {/foreach}
</ul> </ul>
{/if}
</nav> </nav>
+5 -6
View File
@@ -232,12 +232,10 @@ class TabCore extends ObjectModel
{ {
self::$_cache_tabs[$id_lang] = array(); self::$_cache_tabs[$id_lang] = array();
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT * SELECT *
FROM `'._DB_PREFIX_.'tab` t FROM `'._DB_PREFIX_.'tab` t
LEFT JOIN `'._DB_PREFIX_.'tab_lang` tl LEFT JOIN `'._DB_PREFIX_.'tab_lang` tl ON (t.`id_tab` = tl.`id_tab` AND tl.`id_lang` = '.(int)$id_lang.')
ON (t.`id_tab` = tl.`id_tab` AND tl.`id_lang` = '.(int)$id_lang.') ORDER BY t.`position` ASC');
ORDER BY t.`position` ASC
');
foreach ($result as $row) foreach ($result as $row)
{ {
if (!isset(self::$_cache_tabs[$id_lang][$row['id_parent']])) if (!isset(self::$_cache_tabs[$id_lang][$row['id_parent']]))
@@ -252,6 +250,7 @@ class TabCore extends ObjectModel
$array_all = array_merge($array_all, $array_parent); $array_all = array_merge($array_all, $array_parent);
return $array_all; return $array_all;
} }
return (isset(self::$_cache_tabs[$id_lang][$id_parent]) ? self::$_cache_tabs[$id_lang][$id_parent] : array()); return (isset(self::$_cache_tabs[$id_lang][$id_parent]) ? self::$_cache_tabs[$id_lang][$id_parent] : array());
} }
+3 -5
View File
@@ -1441,7 +1441,9 @@ class AdminControllerCore extends Controller
$current_id = Tab::getCurrentParentId(); $current_id = Tab::getCurrentParentId();
foreach ($tabs as $index => $tab) foreach ($tabs as $index => $tab)
{ {
if (($tab['class_name'] == 'AdminStock' && Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') == 0) || $tab['class_name'] == 'AdminCarrierWizard') if (!checkTabRights($tab['id_tab'])
|| ($tab['class_name'] == 'AdminStock' && Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') == 0)
|| $tab['class_name'] == 'AdminCarrierWizard')
{ {
unset($tabs[$index]); unset($tabs[$index]);
continue; continue;
@@ -1490,10 +1492,6 @@ class AdminControllerCore extends Controller
unset($sub_tabs[$index2]); unset($sub_tabs[$index2]);
} }
$tabs[$index]['sub_tabs'] = $sub_tabs; $tabs[$index]['sub_tabs'] = $sub_tabs;
// If there are no subtabs, we don't want to display the parent tab in menu
if (empty($sub_tabs))
unset($tabs[$index]);
} }
if (Validate::isLoadedObject($this->context->employee)) if (Validate::isLoadedObject($this->context->employee))
+1 -1
View File
@@ -6,7 +6,7 @@
<field name="active"/> <field name="active"/>
</fields> </fields>
<entities> <entities>
<tab id="Dashboard" id_parent="-1" active="1"> <tab id="Dashboard" id_parent="" active="1">
<class_name>AdminDashboard</class_name> <class_name>AdminDashboard</class_name>
</tab> </tab>
<tab id="CMS_Pages" id_parent="-1" active="1"> <tab id="CMS_Pages" id_parent="-1" active="1">