Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

"s_browse_path_range" и "Несколько компонентов в разделе"

06.04.2009, 12:08
Гость
Гость

Использую функцию для вывода навигации "хлебные крошки":
Код:
".s_browse_path_range(-1, $sub_level_count-1, $page_path)."


Шаблон вывода навигации:
Код:
$page_path['prefix'] = "";
$page_path['active'] = "<nobr><a href='%URL' class='active'>%NAME</a></nobr>";
$page_path['active_link'] = "<nobr>%NAME</nobr>";
$page_path['unactive'] = "<nobr><a href='%URL' class='unactive'>%NAME</a></nobr>";
$page_path['divider'] = " | ";
$page_path['suffix'] = "";


Но когда в разделе используется несколько компонентов, функция выдает неприемлемый результат.

А именно...

Структура раздела такая:
Код:
-Каталог
--Системы
---Название (здесь 2 компонента, HTML текст + объекты)


В данном случае, на странице полного вывода объекта из второго компонента ("/catalog/systems/name/itemname.html"), функция выдает цепочку такого вида:
Код:
Каталог | Системы | Название | Название

Где первое "Название" ведет куда и нужно ("/catalog/systems/name/"), а второе на второй компонент ("/catalog/systems/name/name.html").
Да - логично, но в данном случае очень не к местугрустный

Подскажите, пожалуйста, как избавиться от ссылки на компонент?
21.07.2010, 22:06
sparton
Шекера Евгений

Зарегистрирован:
2010-03-16
Сообщений: 141

Вопрос актуален! Что за глюк такой?
22.07.2010, 08:52
malich
Андрей Малков

Зарегистрирован:
2005-08-09
Сообщений: 522

Да есть такое дело.
Запустите поиск по файлам, найдите где хранится function s_browse_path_range, посмотрите алгоритм ее работы. (/netcat/require/s_browse.inc.php)

Скопируйте ее в файл netcat/modules/default/function.inc.php, назовите по другому и внесите в ее код требуемые изменения, и затем на сайте вызывайте уже свою функцию вместо s_browse_path_range

Конкретно из нее нужно удалить код отвечающий за вывод навигации по компонентам
Код:
		if ($current_cc["Sub_Class_ID"]!=$cc_array[0] && $current_cc["Checked"]) {
eval("\$result.= \"".$browse_template['divider']."\";");

$nav_name = $current_cc["Sub_Class_Name"];
$nav_url = $current_sub["Hidden_URL"].$current_cc["EnglishName"].".html";

if ($nav_url==$REQUEST_URI && $browse_template['active_link']) {
eval("\$result.= \"".$browse_template['active_link']."\";");
}
else {
eval("\$result.= \"".$browse_template['active']."\";");
}

$result = str_replace("%NAME", $nav_name, $result);
if(!$admin_mode) $nav_url = $SUB_FOLDER.$nav_url;
$result = str_replace("%URL", $nav_url, $result);
}


Либо обратитесь в тех поддержку
198 196 2010-07-22 08:52:56 9622
Описание проекта