diff --git a/admin-dev/themes/template/header.tpl b/admin-dev/themes/template/header.tpl
index 1fc8f37a7..dc1ddb2cc 100644
--- a/admin-dev/themes/template/header.tpl
+++ b/admin-dev/themes/template/header.tpl
@@ -195,7 +195,7 @@
{/if}
{foreach $tabs AS $t}
-
+
{$t.name}
diff --git a/admin-dev/themes/template/tracking.tpl b/admin-dev/themes/template/tracking.tpl
new file mode 100644
index 000000000..480b75d6d
--- /dev/null
+++ b/admin-dev/themes/template/tracking.tpl
@@ -0,0 +1,5 @@
+{l s='Catalog tracking'}
+{$categories}
+{$products_disabled}
+{$products_nostock}
+{$attributes_nostock}
diff --git a/classes/AdminController.php b/classes/AdminController.php
index dbb6edaf2..2f47d32f1 100644
--- a/classes/AdminController.php
+++ b/classes/AdminController.php
@@ -681,7 +681,7 @@ class AdminControllerCore extends Controller
// tab[class_name] does not contains the "Controller" suffix
$tabs[$index]['current'] = ($tab['class_name'].'Controller' == get_class($this)) || (Tab::getCurrentParentId() == $tab['id_tab']);
$tabs[$index]['img'] = $img;
- $tabs[$index]['token'] = Tools::getAdminToken($tab['class_name'].(int)($tab['id_tab']).(int)$this->context->employee->id);
+ $tabs[$index]['href'] = $this->context->link->getAdminLink($tab['class_name']);
$sub_tabs = Tab::getTabs($this->context->language->id, $tab['id_tab']);
foreach ($sub_tabs AS $index2 => $sub_tab)
diff --git a/admin-dev/tabs/AdminTracking.php b/controllers/admin/AdminTrackingController.php
similarity index 87%
rename from admin-dev/tabs/AdminTracking.php
rename to controllers/admin/AdminTrackingController.php
index a7122d1f9..2487a55ec 100644
--- a/admin-dev/tabs/AdminTracking.php
+++ b/controllers/admin/AdminTrackingController.php
@@ -25,27 +25,21 @@
* International Registered Trademark & Property of PrestaShop SA
*/
-class AdminTracking extends AdminTab
+class AdminTrackingController extends AdminController
{
public function __construct()
{
- $this->table = 'none';
- $this->className = 'none';
-
parent::__construct();
}
public function display()
{
- echo ''.$this->l('Catalog tracking').'
';
- $this->getObjects('categories_empty');
- $this->displayCategories();
- $this->getObjects('products_disabled');
- $this->displayProducts();
- $this->getObjects('products_nostock');
- $this->displayProducts();
- $this->getObjects('attributes_nostock');
- $this->displayAttributes();
+ $tpl_vars['categories'] = $this->getObjects('categories_empty')->displayCategories();
+ $tpl_vars['products_disabled'] = $this->getObjects('products_disabled')->displayProducts();
+ $tpl_vars['products_nostock'] = $this->getObjects('products_nostock')->displayProducts();
+ $tpl_vars['attributes_nostock'] = $this->getObjects('attributes_nostock')->displayAttributes();
+ $this->context->smarty->assign($tpl_vars);
+ parent::display();
}
public function getObjects($type)
@@ -106,6 +100,7 @@ class AdminTracking extends AdminTab
break ;
}
$this->_list['obj'] = Db::getInstance()->ExecuteS($sql);
+ return $this;
}
public function displayCategories()
@@ -113,15 +108,15 @@ class AdminTracking extends AdminTab
if (isset($this->_list['obj']))
{
$nbCategories = sizeof($this->_list['obj']);
- echo ''.$this->_list['message'].' '.$nbCategories.' '.$this->l('found').'
';
+ $this->content .= ''.$this->_list['message'].' '.$nbCategories.' '.$this->l('found').'
';
if (!$nbCategories)
return ;
- echo '
+ $this->content .= '
';
$irow = 0;
foreach ($this->_list['obj'] AS $k => $category)
- echo '| '.rtrim(getPath('index.php?tab=AdminCatalog', $category['id_category']), ' >').' |
';
- echo '
';
+ $this->content .= '| '.rtrim(getPath('index.php?tab=AdminCatalog', $category['id_category']), ' >').' |
';
+ $this->content .= '
';
}
}
@@ -131,7 +126,7 @@ class AdminTracking extends AdminTab
if (isset($this->_list['obj']))
{
$nbProducts = sizeof($this->_list['obj']);
- echo ''.$this->_list['message'].' '.$nbProducts.' '.$this->l('found').'
';
+ $this->content .= ''.$this->_list['message'].' '.$nbProducts.' '.$this->l('found').'
';
if (!$nbProducts)
return ;
$this->fieldsDisplay = (array(
@@ -146,12 +141,12 @@ class AdminTracking extends AdminTab
'status' => array('title' => $this->l('Status')),
'action' => array('title' => $this->l('Actions'))
));
- echo '
+ $this->content .= '
';
foreach ($this->fieldsDisplay AS $field)
- echo '| '.$field['title'].' | ';
- echo '
+ $this->content .= ''.$field['title'].' | ';
+ $this->content .= '
';
foreach ($this->_list['obj'] AS $k => $prod)
{
@@ -159,7 +154,7 @@ class AdminTracking extends AdminTab
$product->name = $product->name[(int)$this->context->language->id];
$taxrate = $product->getTaxesRate();
- echo '
+ $this->content .= '
| '.$product->id.' |
'.($product->manufacturer_name != NULL ? stripslashes($product->manufacturer_name) : '--').' |
@@ -178,7 +173,7 @@ class AdminTracking extends AdminTab
';
}
- echo '
';
+ $this->content .= '
';
}
}
@@ -188,7 +183,7 @@ class AdminTracking extends AdminTab
if (isset($this->_list['obj']))
{
$nbAttributes = sizeof($this->_list['obj']);
- echo ''.$this->_list['message'].' '.$nbAttributes.' '.$this->l('found').'
';
+ $this->content .= ''.$this->_list['message'].' '.$nbAttributes.' '.$this->l('found').'
';
if (!$nbAttributes)
return ;
$this->fieldsDisplay = (array(
@@ -204,12 +199,12 @@ class AdminTracking extends AdminTab
'action' => array('title' => $this->l('Actions'))
));
- echo '
+ $this->content .= '
';
foreach ($this->fieldsDisplay AS $field)
- echo '| '.$field['title'].' | ';
- echo '
+ $this->content .= ''.$field['title'].' | ';
+ $this->content .= '
';
$attributes = array();
@@ -231,7 +226,7 @@ class AdminTracking extends AdminTab
$product = new Product((int)$prod['id_product'], false);
$tax_rate = $product->getTaxesRate();
- echo '
+ $this->content .= '
| '.$prod['id_product'].' |
'.($prod['manufacturer_name'] != NULL ? stripslashes($prod['manufacturer_name']) : '--').' |
@@ -250,7 +245,7 @@ class AdminTracking extends AdminTab
';
}
- echo '
';
+ $this->content .= '
';
}
}
}