// Fixed tabs

This commit is contained in:
Damien Metzger
2013-10-11 12:10:24 +02:00
parent b61528057a
commit c68101653d
5 changed files with 34 additions and 37 deletions
@@ -43,10 +43,14 @@
{elseif $input.type == 'default_tab'}
<select name="{$input.name}" id="{$input.name}">
{foreach $input.options AS $option}
<optgroup label="{$option.name|escape:'htmlall':'UTF-8'}"></optgroup>
{foreach $option.children AS $children}
<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}
{if $option.children|@count}
<optgroup label="{$option.name|escape:'htmlall':'UTF-8'}"></optgroup>
{foreach $option.children AS $children}
<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}
</select>
{else}
+17 -21
View File
@@ -5,35 +5,31 @@
<span class="menu-collapse">
<i class="icon-align-justify"></i>
</span>
{if $controller_name != 'AdminLogin'}
<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}
{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}">
<a href="{if count($t.sub_tabs) > 0}{$t.sub_tabs[0].href}{else}#{/if}" class="title" >
<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 $t.sub_tabs|@count}{$t.sub_tabs[0].href}{else}{$t.href}{/if}" class="title" >
<i class="icon-{$t.class_name}"></i>
<span class="title">{if $t.name eq ''}{$t.class_name}{else}{$t.name}{/if}</span>
</a>
<ul class="submenu">
{foreach from=$t.sub_tabs item=t2}
{if $t2.active}
<li {if $t2.current} class="active"{/if}>
<a href="{$t2.href|escape:'htmlall':'UTF-8'}">
{if $t2.name eq ''}{$t2.class_name}{else}{$t2.name|escape:'htmlall':'UTF-8'}{/if}
</a>
</li>
{/if}
{/foreach}
</ul>
{if $t.sub_tabs|@count}
<ul class="submenu">
{foreach from=$t.sub_tabs item=t2}
{if $t2.active}
<li {if $t2.current} class="active"{/if}>
<a href="{$t2.href|escape:'htmlall':'UTF-8'}">
{if $t2.name eq ''}{$t2.class_name}{else}{$t2.name|escape:'htmlall':'UTF-8'}{/if}
</a>
</li>
{/if}
{/foreach}
</ul>
{/if}
</li>
{/if}
{/foreach}
</ul>
{/if}
</nav>
+5 -6
View File
@@ -232,12 +232,10 @@ class TabCore extends ObjectModel
{
self::$_cache_tabs[$id_lang] = array();
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT *
FROM `'._DB_PREFIX_.'tab` t
LEFT JOIN `'._DB_PREFIX_.'tab_lang` tl
ON (t.`id_tab` = tl.`id_tab` AND tl.`id_lang` = '.(int)$id_lang.')
ORDER BY t.`position` ASC
');
SELECT *
FROM `'._DB_PREFIX_.'tab` t
LEFT JOIN `'._DB_PREFIX_.'tab_lang` tl ON (t.`id_tab` = tl.`id_tab` AND tl.`id_lang` = '.(int)$id_lang.')
ORDER BY t.`position` ASC');
foreach ($result as $row)
{
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);
return $array_all;
}
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();
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]);
continue;
@@ -1490,10 +1492,6 @@ class AdminControllerCore extends Controller
unset($sub_tabs[$index2]);
}
$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))
+1 -1
View File
@@ -6,7 +6,7 @@
<field name="active"/>
</fields>
<entities>
<tab id="Dashboard" id_parent="-1" active="1">
<tab id="Dashboard" id_parent="" active="1">
<class_name>AdminDashboard</class_name>
</tab>
<tab id="CMS_Pages" id_parent="-1" active="1">