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

Многоуровневый каталог

06.06.2013, 12:44
Михаил

Зарегистрирован:
2011-03-12
Сообщений: 45

Здравствуйте. Помогите советом.

Необходимо создать каталог следующего вида:
Изображение

Карта сайта организованна так:
Изображение

Т.е. нужно чтобы разделы первого уровня были как заголовки и не активные, а подразделы были ссылками на определенные страницы сайта.
И при редактировании карты сайта в админке изменения отражались в Каталоге автоматически.

Нашел одно решение он не могу его адаптировать под свою задачу:

Префикс списка объектов:
Код:
<? echo s_browse_sub($nc_sub,$browse_sub); ?>


Системные настройки:
Код:

$browse_sub[prefix] = '<table width=\'100%\'><tr>';
$browse_sub[suffix] = '".( ($i%'.$nc_num_cols.') ? str_repeat("<td> </td>",('.$nc_num_cols.'-($i%'.$nc_num_cols.'))) : NULL)."</tr></table>';
$browse_sub[unactive] = '".( !($i%'.$nc_num_cols.') && $i ? "</tr><tr>" : NULL)."<td class=\'nc_row\'><div class=\'nc_menu_item\'><a href=%URL>%NAME</a></div>".s_browse_sub($data[$i][Subdivision_ID],$browse_template)."</td>';
$browse_sub[active] = '".( !($i%'.$nc_num_cols.') && $i ? "</tr><tr>" : NULL)."<td class=\'nc_row\'><div class=\'nc_menu_item nc_current\'><a href=%URL>%NAME</a></div>".s_browse_sub($data[$i][Subdivision_ID],$browse_template)."</td>';



Спасибо.
06.06.2013, 15:15
Игорь
Игорь Мишарин
Игорь

Зарегистрирован:
2011-11-20
Сообщений: 482

Код:
< div class=\'nc_menu_item\'>< a href=%URL>%NAME< /a>< /div>


Жирным выделено, что убрать.
%NAME - оставить!

Stark
06.06.2013, 18:22
Михаил

Зарегистрирован:
2011-03-12
Сообщений: 45

В этом случае неактивными становятся все строки. Нужно, чтобы неактивными были только каталоги первого уровня, а все вложенные выводились ссылками.
07.06.2013, 21:10
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Читайте в документации неткат про вывод меню первого и второго уровня, там неплохие примеры есть. Направление вы правильно выбрали - копайте в сторону s_browse_sub. улыбка
08.06.2013, 14:00
Игорь
Игорь Мишарин
Игорь

Зарегистрирован:
2011-11-20
Сообщений: 482

Код:
".s_browse_sub($data[$i][Subdivision_ID],$browse_template)."

Там где жирным нужно ставить другой макет, например $browse_sub[1],
но перед этим сделать его и, чтобы он располагался выше чем $browse_sub

Stark
11.06.2013, 07:53
Михаил

Зарегистрирован:
2011-03-12
Сообщений: 45

Не знаю правильно ли я понял, но сделал так:

Префикс списка объектов:
Код:
<? echo nc_browse_sub($nc_sub,$browse_sub); ?>


Системные настройки:
Код:
<?

if( !isset($nc_sub) ) $nc_sub = $sub;
else $nc_sub = (int)$nc_sub;

$browse_sub[1][prefix] = "";
$browse_sub[1][suffix] = "";
$browse_sub[1][active] = "<div class='catalog_list'><a href=%URL>%NAME</a></div>";
$browse_sub[1][unactive] = "<div class='catalog_list'><a href=%URL>%NAME</a></div>";

$browse_sub[0][prefix] = "<div class='catalog_style'>";
$browse_sub[0][suffix] = "</div>";
$browse_sub[0][active] = "<div class='catalog_title'><h2>%NAME</h2>%NEXT_LEVEL</div>";
$browse_sub[0][unactive] = "<div class='catalog_title'><h2>%NAME</h2>%NEXT_LEVEL</div>";

?>


Стили:
Код:

.catalog_style{
-moz-columns: 2;
-webkit-columns: 2;
columns: 2;
}

.catalog_title h2{
color: black;
}

.catalog_list{
margin-bottom: 3px;
}


Осталась одна проблема: Как сделать чтобы перенос на новую колонку происходил только с заголовка первого уровня Каталога?
Сейчас отображается так:
Изображение
198 196 2013-06-11 07:53:16 13095
Описание проекта