// More breadcrumbs improvements

This commit is contained in:
Damien Metzger
2013-09-30 15:38:22 +02:00
parent 0db013f1c8
commit a6d8ffa293
14 changed files with 47 additions and 26 deletions
+1 -1
View File
@@ -33,7 +33,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="robots" content="NOFOLLOW, NOINDEX"> <meta name="robots" content="NOFOLLOW, NOINDEX">
<title>{$shop_name} {if $meta_title != ''}- {$meta_title}{/if} - PrestaShop&trade;</title> <title>{$shop_name} {if $meta_title != ''}{$navigationPipe|escape:'htmlall':'UTF-8'} {$meta_title}{/if} (PrestaShop&trade;)</title>
{if $display_header} {if $display_header}
<script type="text/javascript"> <script type="text/javascript">
var help_class_name = '{$controller_name}'; var help_class_name = '{$controller_name}';
+24 -9
View File
@@ -356,14 +356,24 @@ class AdminControllerCore extends Controller
*/ */
public function initBreadcrumbs() public function initBreadcrumbs()
{ {
/* Breadcrumb */
$navigationPipe = (Configuration::get('PS_NAVIGATION_PIPE') ? Configuration::get('PS_NAVIGATION_PIPE') : '>');
$this->context->smarty->assign('navigationPipe', $navigationPipe);
$tabs = array(); $tabs = array();
$tabs = Tab::recursiveTab($this->id, $tabs); $tabs = Tab::recursiveTab($this->id, $tabs);
$tabs = array_reverse($tabs); $tabs = array_reverse($tabs);
$prev = '';
foreach ($tabs as $tab) foreach ($tabs as $tab)
{
if (!empty($prev) && $prev == $tab['name'])
array_pop($this->breadcrumbs);
$prev = $tab['name'];
if ($tab['id_parent'] != 0) if ($tab['id_parent'] != 0)
$this->breadcrumbs[] = '<a href="'.Tools::htmlentitiesUTF8($this->context->link->getAdminLink($tab['class_name'])).'">'.$tab['name'].'</a>'; $this->breadcrumbs[] = '<a href="'.Tools::htmlentitiesUTF8($this->context->link->getAdminLink($tab['class_name'])).'">'.$tab['name'].'</a>';
else else
$this->breadcrumbs[] = $tab['name']; $this->breadcrumbs[] = $tab['name'];
}
} }
/** /**
@@ -373,24 +383,29 @@ class AdminControllerCore extends Controller
*/ */
public function initToolbarTitle() public function initToolbarTitle()
{ {
$bread_extended = array_unique($this->breadcrumbs); $this->toolbar_title = array_unique($this->breadcrumbs);
switch ($this->display) switch ($this->display)
{ {
case 'edit': case 'edit':
$bread_extended[] = $this->l('Edit'); $this->toolbar_title[] = $this->l('Edit');
break; break;
case 'add': case 'add':
$bread_extended[] = $this->l('Add new'); $this->toolbar_title[] = $this->l('Add new');
break; break;
case 'view': case 'view':
$bread_extended[] = $this->l('View'); $this->toolbar_title[] = $this->l('View');
break; break;
} }
$this->toolbar_title = $bread_extended;
if ($filter = $this->addFiltersToBreadcrumbs())
$this->toolbar_title[] = $filter;
}
public function addFiltersToBreadcrumbs()
{
if (Tools::isSubmit('submitFilter')) if (Tools::isSubmit('submitFilter'))
{ {
$filters = array(); $filters = array();
@@ -424,7 +439,7 @@ class AdminControllerCore extends Controller
} }
if (count($filters)) if (count($filters))
$this->toolbar_title[] = sprintf($this->l('filter by %s'), implode(', ', $filters)); return sprintf($this->l('filter by %s'), implode(', ', $filters));
} }
} }
@@ -1272,7 +1287,7 @@ class AdminControllerCore extends Controller
// Use page title from meta_title if it has been set else from the breadcrumbs array // Use page title from meta_title if it has been set else from the breadcrumbs array
if (!$this->meta_title) if (!$this->meta_title)
$this->meta_title = isset($this->breadcrumbs[1]) ? $this->breadcrumbs[1] : $this->breadcrumbs[0]; $this->meta_title = strip_tags(is_array($this->toolbar_title) ? implode(' '.Configuration::get('PS_NAVIGATION_PIPE').' ', $this->toolbar_title) : $this->toolbar_title);
$this->context->smarty->assign('meta_title', $this->meta_title); $this->context->smarty->assign('meta_title', $this->meta_title);
$tpl_action = $this->tpl_folder.$this->display.'.tpl'; $tpl_action = $this->tpl_folder.$this->display.'.tpl';
@@ -1783,7 +1798,7 @@ class AdminControllerCore extends Controller
$helper->id = $this->object->id; $helper->id = $this->object->id;
// @todo : move that in Helper // @todo : move that in Helper
$helper->title = implode(' &gt; ', $this->toolbar_title); $helper->title = is_array($this->toolbar_title) ? implode(' '.Configuration::get('PS_NAVIGATION_PIPE').' ', $this->toolbar_title) : $this->toolbar_title;
$helper->toolbar_btn = $this->toolbar_btn; $helper->toolbar_btn = $this->toolbar_btn;
$helper->show_toolbar = $this->show_toolbar; $helper->show_toolbar = $this->show_toolbar;
$helper->toolbar_scroll = $this->toolbar_scroll; $helper->toolbar_scroll = $this->toolbar_scroll;
@@ -187,6 +187,15 @@ class AdminCustomersControllerCore extends AdminController
} }
} }
public function initToolbarTitle()
{
parent::initToolbarTitle();
if ($this->display != 'list')
if (($customer = $this->loadObject(true)) && Validate::isLoadedObject($customer))
$this->toolbar_title[] = Tools::htmlentitiesUTF8(Tools::substr($customer->firstname, 0, 1).'. '.$customer->firstname);
}
public function initPageHeaderToolbar() public function initPageHeaderToolbar()
{ {
$this->page_header_toolbar_title = $this->l('Customers'); $this->page_header_toolbar_title = $this->l('Customers');
@@ -2524,9 +2524,10 @@ class AdminProductsControllerCore extends AdminController
public function initToolbarTitle() public function initToolbarTitle()
{ {
parent::initToolbarTitle(); parent::initToolbarTitle();
if ($product = $this->loadObject(true))
if ((bool)$product->id && $this->display != 'list' && isset($this->toolbar_title[2])) if ($this->display != 'list')
$this->toolbar_title[2] = $this->toolbar_title[2].' ('.$this->product_name.')'; if (($product = $this->loadObject(true)) && Validate::isLoadedObject($product))
$this->toolbar_title[] = Tools::htmlentitiesUTF8($this->product_name);
} }
/** /**
-3
View File
@@ -6,9 +6,6 @@
<field name="active"/> <field name="active"/>
</fields> </fields>
<entities> <entities>
<tab id="Home" id_parent="-1" active="1">
<class_name>AdminHome</class_name>
</tab>
<tab id="Dashboard" id_parent="-1" active="1"> <tab id="Dashboard" id_parent="-1" active="1">
<class_name>AdminDashboard</class_name> <class_name>AdminDashboard</class_name>
</tab> </tab>
+1 -1
View File
@@ -33,7 +33,7 @@
<tab id="General" name="Geral"/> <tab id="General" name="Geral"/>
<tab id="Geolocation" name="Geolocaliza&#xE7;&#xE3;o"/> <tab id="Geolocation" name="Geolocaliza&#xE7;&#xE3;o"/>
<tab id="Groups" name="Grupos"/> <tab id="Groups" name="Grupos"/>
<tab id="Home" name="In&#xED;cio"/> <tab id="Dashboard" name="Dashboard"/>
<tab id="Image_Mapping" name="Mapeamento de Imagem"/> <tab id="Image_Mapping" name="Mapeamento de Imagem"/>
<tab id="Images" name="Imagens"/> <tab id="Images" name="Imagens"/>
<tab id="Instant_Stock_Status" name="Status atual do estoque"/> <tab id="Instant_Stock_Status" name="Status atual do estoque"/>
+1 -1
View File
@@ -33,7 +33,7 @@
<tab id="General" name="Allgemein"/> <tab id="General" name="Allgemein"/>
<tab id="Geolocation" name="Geotargeting"/> <tab id="Geolocation" name="Geotargeting"/>
<tab id="Groups" name="Gruppen"/> <tab id="Groups" name="Gruppen"/>
<tab id="Home" name="Startseite"/> <tab id="Dashboard" name="Dashboard"/>
<tab id="Image_Mapping" name="Bilder-Mapping"/> <tab id="Image_Mapping" name="Bilder-Mapping"/>
<tab id="Images" name="Bilder"/> <tab id="Images" name="Bilder"/>
<tab id="Instant_Stock_Status" name="aktueller Lagerstand"/> <tab id="Instant_Stock_Status" name="aktueller Lagerstand"/>
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<entity_tab> <entity_tab>
<tab id="Home" name="Home"/> <tab id="Dashboard" name="Dashboard"/>
<tab id="CMS_Pages" name="CMS Pages"/> <tab id="CMS_Pages" name="CMS Pages"/>
<tab id="CMS_Categories" name="CMS Categories"/> <tab id="CMS_Categories" name="CMS Categories"/>
<tab id="Combinations_Generator" name="Combinations Generator"/> <tab id="Combinations_Generator" name="Combinations Generator"/>
+1 -1
View File
@@ -33,7 +33,7 @@
<tab id="General" name="General"/> <tab id="General" name="General"/>
<tab id="Geolocation" name="Localizaci&#xF3;n"/> <tab id="Geolocation" name="Localizaci&#xF3;n"/>
<tab id="Groups" name="Grupos"/> <tab id="Groups" name="Grupos"/>
<tab id="Home" name="Inicio"/> <tab id="Dashboard" name="Dashboard"/>
<tab id="Image_Mapping" name="Cartograf&#xED;a de im&#xE1;genes"/> <tab id="Image_Mapping" name="Cartograf&#xED;a de im&#xE1;genes"/>
<tab id="Images" name="Im&#xE1;genes"/> <tab id="Images" name="Im&#xE1;genes"/>
<tab id="Instant_Stock_Status" name="Estado de existencias instantes"/> <tab id="Instant_Stock_Status" name="Estado de existencias instantes"/>
+1 -2
View File
@@ -1,7 +1,7 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<entity_tab> <entity_tab>
<tab id="Addresses" name="Adresses"/> <tab id="Addresses" name="Adresses"/>
<tab id="Dashboard" name="Dasboard"/> <tab id="Dashboard" name="Tableau de Bord"/>
<tab id="Administration" name="Administration"/> <tab id="Administration" name="Administration"/>
<tab id="Advanced_Parameters" name="Param&#xE8;tres avanc&#xE9;s"/> <tab id="Advanced_Parameters" name="Param&#xE8;tres avanc&#xE9;s"/>
<tab id="Attachments" name="Documents joints"/> <tab id="Attachments" name="Documents joints"/>
@@ -34,7 +34,6 @@
<tab id="General" name="G&#xE9;n&#xE9;rales"/> <tab id="General" name="G&#xE9;n&#xE9;rales"/>
<tab id="Geolocation" name="G&#xE9;olocalisation"/> <tab id="Geolocation" name="G&#xE9;olocalisation"/>
<tab id="Groups" name="Groupes"/> <tab id="Groups" name="Groupes"/>
<tab id="Home" name="Accueil"/>
<tab id="Image_Mapping" name="Sc&#xE8;nes"/> <tab id="Image_Mapping" name="Sc&#xE8;nes"/>
<tab id="Images" name="Images"/> <tab id="Images" name="Images"/>
<tab id="Instant_Stock_Status" name="Etat instantan&#xE9; du stock"/> <tab id="Instant_Stock_Status" name="Etat instantan&#xE9; du stock"/>
+1 -1
View File
@@ -33,7 +33,7 @@
<tab id="General" name="Generale"/> <tab id="General" name="Generale"/>
<tab id="Geolocation" name="Geolocalizzazione"/> <tab id="Geolocation" name="Geolocalizzazione"/>
<tab id="Groups" name="Gruppi"/> <tab id="Groups" name="Gruppi"/>
<tab id="Home" name="Home page"/> <tab id="Dashboard" name="Dashboard"/>
<tab id="Image_Mapping" name="Mapping Immagine"/> <tab id="Image_Mapping" name="Mapping Immagine"/>
<tab id="Images" name="Immagini"/> <tab id="Images" name="Immagini"/>
<tab id="Instant_Stock_Status" name="Stato dello stock Istantaneo"/> <tab id="Instant_Stock_Status" name="Stato dello stock Istantaneo"/>
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<entity_tab> <entity_tab>
<tab id="Home" name="Home"/> <tab id="Dashboard" name="Dashboard"/>
<tab id="CMS_Pages" name="CMS Pages"/> <tab id="CMS_Pages" name="CMS Pages"/>
<tab id="CMS_Categories" name="CMS Categories"/> <tab id="CMS_Categories" name="CMS Categories"/>
<tab id="Combinations_Generator" name="Combinations Generator"/> <tab id="Combinations_Generator" name="Combinations Generator"/>
+1 -1
View File
@@ -33,7 +33,7 @@
<tab id="General" name="Ustawienia g&#x142;&#xF3;wne"/> <tab id="General" name="Ustawienia g&#x142;&#xF3;wne"/>
<tab id="Geolocation" name="Lokalizacja geograficzna"/> <tab id="Geolocation" name="Lokalizacja geograficzna"/>
<tab id="Groups" name="Grupy"/> <tab id="Groups" name="Grupy"/>
<tab id="Home" name="Strona g&#x142;&#xF3;wna"/> <tab id="Dashboard" name="Dashboard"/>
<tab id="Image_Mapping" name="Image Mapping"/> <tab id="Image_Mapping" name="Image Mapping"/>
<tab id="Images" name="Obrazki"/> <tab id="Images" name="Obrazki"/>
<tab id="Instant_Stock_Status" name="Natychmiastowe stany magazynowe"/> <tab id="Instant_Stock_Status" name="Natychmiastowe stany magazynowe"/>
+1 -1
View File
@@ -33,7 +33,7 @@
<tab id="General" name="&#x41E;&#x431;&#x449;&#x438;&#x435; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x438;"/> <tab id="General" name="&#x41E;&#x431;&#x449;&#x438;&#x435; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x438;"/>
<tab id="Geolocation" name="&#x413;&#x435;&#x43E;&#x43B;&#x43E;&#x43A;&#x430;&#x446;&#x438;&#x44F;"/> <tab id="Geolocation" name="&#x413;&#x435;&#x43E;&#x43B;&#x43E;&#x43A;&#x430;&#x446;&#x438;&#x44F;"/>
<tab id="Groups" name="&#x413;&#x440;&#x443;&#x43F;&#x43F;&#x44B;"/> <tab id="Groups" name="&#x413;&#x440;&#x443;&#x43F;&#x43F;&#x44B;"/>
<tab id="Home" name="&#x414;&#x43E;&#x43C;&#x43E;&#x439;"/> <tab id="Dashboard" name="Dashboard"/>
<tab id="Image_Mapping" name="&#x41A;&#x430;&#x440;&#x442;&#x430; &#x43A;&#x430;&#x440;&#x442;&#x438;&#x43D;&#x43E;&#x43A;"/> <tab id="Image_Mapping" name="&#x41A;&#x430;&#x440;&#x442;&#x430; &#x43A;&#x430;&#x440;&#x442;&#x438;&#x43D;&#x43E;&#x43A;"/>
<tab id="Images" name="&#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F;"/> <tab id="Images" name="&#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F;"/>
<tab id="Instant_Stock_Status" name="&#x422;&#x435;&#x43A;&#x443;&#x449;&#x435;&#x435; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435; &#x441;&#x43A;&#x43B;&#x430;&#x434;&#x430;"/> <tab id="Instant_Stock_Status" name="&#x422;&#x435;&#x43A;&#x443;&#x449;&#x435;&#x435; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435; &#x441;&#x43A;&#x43B;&#x430;&#x434;&#x430;"/>