|
|
13.10.2018, 17:55
|
|
Павел
ALTER EGO
Зарегистрирован: 2018-09-28
Сообщений: 4
|
Всем привет!
Подскажите кто сталкивался с таким вопросом - необходимо в меню выводить категории только те, в которых есть товар!
Пытаюсь для начала вывести как в документации:
$browse_sub[0]['unactive'] = "<li><a href=%URL>%NAME</a> \".\$db->get_var(\"SELECT COUNT(Message_ID)
FROM MessageXX WHERE Subdivision_ID=\".\$data[\$i][Subdivision_ID]).\"</li>";
И потом как-то туда условие добавить, но не выходит даже вывести
Еще там видимо надо использовать функцию s_browse_ , я искал от куда идет вызов функции построения меню левого , так и не нашел - если шаблоны удаляешь (хедер, футер) навигация все равно строится
Спасибо!
|
|
|
14.10.2018, 14:02
|
|
Макуров Константин
Студия "Первыйвеб"
Зарегистрирован: 2011-08-04
Сообщений: 41
|
Это делается через класс навигации: https://netcat.ru/developers/docs/navigation/class/
|
|
|
30.10.2018, 10:26
|
|
Юрий
Зарегистрирован: 2018-10-30
Сообщений: 18
|
Отключаем разделы (Checked=0) - в которых нет товаров
Message185 - таблица компонента товаров. Номер компонента 185 в примере
$subs=$nc_core->db->get_col('SELECT Subdivision_ID from Subdivision');
foreach ($subs as $cursub) {
// Проверка на наличие товаров в подразделах
$cnt = $nc_core->db->get_var(
'select 1 from Message185 '
.'WHERE '
.' Price>0 AND ' // Нет цены - считаем нет товара
.'Checked=1 AND ' // Отключён товар - считаем его нет в разделе
.'Subdivision_ID IN ('.join(',', nc_get_sub_children($cursub)).') '
.'LIMIT 1');
// Включение и отключения по критерию наличия товаров в разделе и подразделах
$nc_core->db->query("UPDATE Subdivision SET Checked=".($cnt?1:0)." WHERE Subdivision_ID=$cursub LIMIT 1");
}//[end][foreach ($subs as $cursub)]
Можно выполнить одноразово для формирования значения Checked в разделах
И после выполнения разделы не будут показываться.
|