Регистрация
Вход через соцсети
Восстановление пароля

Вывод меню второго и третьего уровня

Новый топик
13.04.2012, 20:51
Ответить | Цитировать
Барабанщиков Денис Юрьевич

Зарегистрирован:
2011-10-05
Сообщений: 24

У меня на сайте есть каталог, в нем есть разделы и подразделы до 4 уровня.
Как вывести в Шаблоне сайта меню из всех разделов и подразделов каталога.
Код:
".s_browse_sub(115, $menu_left)."

$menu_left['prefix'] = "<div class='left-menu'><div><ul>"."\r\n";
$menu_left['suffix'] = "</ul></div></div>"."\r\n";
$menu_left['active'] = "<li class='active'><a href='%URL' title='%NAME'>%NAME</a></li>"."\r\n";
$menu_left['active_link'] = "<li class='active'>%NAME</li>"."\r\n";
$menu_left['unactive'] = "<li><a href='%URL' title='%NAME'>%NAME</a></li>"."\r\n";
$menu_left[divider] = ""."\r\n";


Выводит только разделы каталога, как вывести подразделы?
13.04.2012, 23:17
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

в руководстве разработчика достаточно подробно описанно

Код:

$browse_sub[3]['prefix'] = "\";global \$browse_sub;\$result.=\"<ul>";
$browse_sub[3]['unactive'] = "<li><a href='%URL'>%NAME</a></li>";
$browse_sub[3]['active'] = "<li>%NAME</li>";
$browse_sub[3]['active_link'] = "<li>%NAME</li>";
$browse_sub[3]['suffix'] = "</ul></div>";

$browse_sub[2]['prefix'] = "\";global \$browse_sub;\$result.=\"<ul>";
$browse_sub[2]['unactive'] = "<li><a href='%URL'>%NAME</a></li>";
$browse_sub[2]['active'] = "<li>%NAME\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[3]).\"</li>";
$browse_sub[2]['active_link'] = "<li>%NAME\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[3]).\"</li>";
$browse_sub[2]['suffix'] = "</ul></div>";

$browse_sub[1]['prefix'] = "\";global \$browse_sub;\$result.=\"<ul>";
$browse_sub[1]['unactive'] = "<li><a href='%URL'>%NAME</a></li>";
$browse_sub[1]['active'] = "<li>%NAME\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[2]).\"</li>";
$browse_sub[1]['active_link'] = "<li>%NAME\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[2]).\"</li>";
$browse_sub[1]['suffix'] = "</ul></div>";

$browse_sub[0]['prefix'] = "\";global \$browse_sub;\$result.=\"<ul>";
$browse_sub[0]['unactive'] = "<li><a href='%URL'>%NAME</a></li>";
$browse_sub[0]['active'] = "<li>%NAME\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[1]).\"</li>";
$browse_sub[0]['active_link'] = "<li>%NAME\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[1]).\"</li>";
$browse_sub[0]['suffix'] = "</ul></div>";


".s_browse_level(0,$browse_sub[0])." а не sub
".s_browse_sub(88,$browse_sub[0])."
sub - это вывод опеределенного раздела в моем случае 88 id раздела
level- выводит уровень [0 - нулевой уровень тоесть самый верхний ряд ссылок и тд]

P.S.: А можно ли взглянуть на ваше творение?

Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
15.04.2012, 15:40
Ответить | Цитировать
Барабанщиков Денис Юрьевич

Зарегистрирован:
2011-10-05
Сообщений: 24

Чет все равно у меня не получается, мне нужно вывести примерно вот такую структуру:
Код:
<ul>
<li class='active'><a href=''>Дверные замки</a>
<ul>
<li class='active'><a href=''>Врезные замки</a></li>
<li><a href=''>Механизмы секретности</a></li>
<li><a href=''>Навесные замки</a></li>
<li><a href=''>Защелки дверные</a></li>
<li><a href=''>Задвижки дверные</a></li>
<li><a href=''>Накладные замки</a></li>
<li><a href=''>Кодовые замки</a></li>
</ul>
</li>
<li><a href=''>Дверные ручки</a><ul>
<ul>
<li><a href=''>Ручки раздельные</a></li>
<li><a href=''>Ручки на планке</a></li>
<li><a href=''>Кнобы</a></li>
<li><a href=''>Ручки скобы</a></li>
<li><a href=''>Ручки кнопки</a></li>
<li><a href=''>Фурнитура к \"антипанике\"</a></li>
</ul>
</li>
</ul>


А у меня, если добавить
".s_browse_level(2,$browse_sub[0])."
Выводится:
-Дверные замки
-Дверные ручки
Выводится, только если я зайду непосредственно в сам раздел каталога, а не необходимо чтобы он выводился всегда.
В шаблоне сайта:
в навигации то что написано выше.
15.04.2012, 16:09
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

Напишите шаблон вашего меню.
$browse_sub[0]['prefix']....
$browse_sub[0]['active']....
__________________
см. стр.58 Руководства разработчика

Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
19.04.2012, 22:03
Ответить | Цитировать
Барабанщиков Денис Юрьевич

Зарегистрирован:
2011-10-05
Сообщений: 24

Шаблон вывода навигации:
Код:
$browse_map[prefix] = "  \"; global \$browse_map; \$result .= \"   <ul>";
$browse_map[unactive] = "<li><a href=%URL>%NAME</a>\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_map).\"";
$browse_map[active] = "<li><a href=%URL>%NAME</a>\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_map).\"";
$browse_map[suffix] = "</ul>";

Вызов функции:
Код:
".s_browse_sub(115,$browse_map)."

Выводится все подразделы раздела 115, а как сделать так чтобы выводилось только до 2 уровня вложенности?
20.04.2012, 18:08
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

Еще рас напишу рас вы забыли прочитать сверху
Вы сейчас выводите навигацию с шаблоном $browse_map, но не учли то что он будет выводится постоянно. Тоесть после того как он вывелся обрабатывается запрос ".s_browse_sub($data[$i][Subdivision_ID],$browse_map)." и выводит подразделы второго уровня с шаблоном $browse_map который повторяет еще рас операцию ".s_browse_sub($data[$i][Subdivision_ID],$browse_map)." выводя еще рас разделы уже третьего уровня.
И так вы добились постоянного алгоритма который заканчивается только при условии что выодить нечего. Таким образомм вы выводите все разделы.

Вам нужно создать еще один шабон в котором уже не будет ".s_browse_sub($data[$i][Subdivision_ID],$browse_map)."

Шаблон вывода навигации:
Код:

$browse_map[1][prefix] = "";
$browse_map[1][unactive] = "%NAME";
$browse_map[1][active] = "%NAME";
$browse_map[1][suffix] = "";

$browse_map[0][prefix] = " "; global $browse_map; $result .= " ";
$browse_map[0][unactive] = "%NAME".s_browse_sub($data[$i][Subdivision_ID],$browse_map[1])."";
$browse_map[0][active] = "%NAME".s_browse_sub($data[$i][Subdivision_ID],$browse_map[1])."";
$browse_map[0][suffix] = "";

Вызов функции:
Код:
".s_browse_sub(115,$browse_map[0])."


Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
30.04.2012, 16:13
Ответить | Цитировать
Гость
Гость

Хмм...
198 196 2012-04-30 16:13:44 12034
Описание проекта