'.$path.'';
$pipe = Configuration::get('PS_NAVIGATION_PIPE');
if (empty($pipe))
$pipe = '>';
$full_path = '';
if ($category_type === 'products')
{
$interval = Category::getInterval($id_category);
$id_root_category = $context->shop->getCategory();
$interval_root = Category::getInterval($id_root_category);
if ($interval)
{
$sql = 'SELECT c.id_category, cl.name, cl.link_rewrite
FROM '._DB_PREFIX_.'category c
LEFT JOIN '._DB_PREFIX_.'category_lang cl ON (cl.id_category = c.id_category'.Shop::addSqlRestrictionOnLang('cl').')
'.Shop::addSqlAssociation('category', 'c').'
WHERE c.nleft <= '.$interval['nleft'].'
AND c.nright >= '.$interval['nright'].'
AND c.nleft >= '.$interval_root['nleft'].'
AND c.nright <= '.$interval_root['nright'].'
AND cl.id_lang = '.(int)$context->language->id.'
AND c.active = 1
AND c.level_depth > '.(int)$interval_root['level_depth'].'
ORDER BY c.level_depth ASC';
$categories = Db::getInstance()->executeS($sql);
// add store link
$link = $context->link->getHomeStoreLink();
$full_path .='Boutique>';
$n = 1;
$n_categories = count($categories);
foreach ($categories as $category)
{
$full_path .=
(($n < $n_categories || $link_on_the_item) ? '' : '').
htmlentities($category['name'], ENT_NOQUOTES, 'UTF-8').
(($n < $n_categories || $link_on_the_item) ? '' : '').
(($n++ != $n_categories || !empty($path)) ? ''.$pipe.'' : '');
}
return $full_path.$path;
}
}
elseif ($category_type === 'categoriescms')
{
require_once _PS_MODULE_DIR_.'cmsps/classes/CmsPsCategory.php';
$category = new CmsPsCategory($id_category, $context->language->id);
if(!empty($path)) {
$full_path = ''
.htmlentities($category->title, ENT_NOQUOTES, 'UTF-8').'';
$full_path.= '>';
} else {
$full_path = ''.htmlentities($category->title, ENT_NOQUOTES, 'UTF-8').'';
}
if ($category->id_parent != 0) {
return Tools::getPath($category->id_parent, $full_path, $link_on_the_item, $category_type);
} else {
return $full_path.$path;
}
}
elseif ($category_type === 'postcms')
{
require_once _PS_MODULE_DIR_.'cmsps/classes/CmsPsPost.php';
require_once _PS_MODULE_DIR_.'cmsps/classes/CmsPsCategory.php';
$post = new CmsPsPost($id_category, $context->language->id);
$category = new CmsPsCategory($post->id_category, $context->language->id);
$full_path = ''
.htmlentities($category->title, ENT_NOQUOTES, 'UTF-8').
'';
if ($path == '') {
$full_path.= '>'.$post->title.'';
}
if ($category->id_parent != 0) {
return Tools::getPath($category->id_parent, $full_path, $link_on_the_item, 'categoriescms');
} else {
return $full_path.$path;
}
}
elseif ($category_type === 'CMS')
{
$category = new CMSCategory($id_category, $context->language->id);
if (!Validate::isLoadedObject($category))
die(Tools::displayError());
$category_link = $context->link->getCMSCategoryLink($category);
if ($path != $category->name)
$full_path .= ''.htmlentities($category->name, ENT_NOQUOTES, 'UTF-8').''.$pipe.''.$path;
else
$full_path = ($link_on_the_item ? '' : '').htmlentities($path, ENT_NOQUOTES, 'UTF-8').($link_on_the_item ? '' : '');
return Tools::getPath($category->id_parent, $full_path, $link_on_the_item, $category_type);
}
}
}