Большое дерево категорий вывести на сайт

humbert
На сайте с 16.03.2006
Offline
540
515

Стандартная структура БД: ID | parent_ID |title

Надо вывести дерево с чекбоксами (jstree пробовал). Проблема в том, что в таблице более 8.000 записей и дерево строится ну очень долго, секунд 3-5.

Динамически подгружать вариант, но как быть с чекбоксами?

Парсинг прайс-листов, наполнение интернет-магазина товаром. (https://humbert.ru) Любая CMS (Битрикс, OpenCart, Prestashop и даже Woo Commerce )
DiAksID
На сайте с 02.08.2008
Offline
236
#1

теоретически таблица более чем с 3.000 позиций человеческим мозгом не воспринимается, а китайские товарищи это подтвердили опытным путём 😂 (любят они непотребное количество инфы на одну страницу впихивать)

тем не менее: ни что не мешает динамически вклеить в DOM любое кол-во инпутов, в том числе и чекбоксов. 3-5 сек это вообще не задержка - вешаете непробиваемый оверлей с "лоадинг" над страницей на время загрузки, что бы юзверь по экрану зря не щёлкал, и всё в порядке...

show must go on !!!...
humbert
На сайте с 16.03.2006
Offline
540
#2

Не,3-5 секунд много:) Уменьшил количество категорий до двух-трех уровней дерева, остальное, что глубже, пусть отдельно вызывает, если надо.

p.s. а может кто еще подскажет тупому как чекнуть нод программно?

$('#tree').jstree('check_node', '#licat1'); - так почему-то не пашет

DiAksID
На сайте с 02.08.2008
Offline
236
#3
humbert:
Не,3-5 секунд много:) ...

это когда динамика строиться до (!) рендеринга DOM и юзверь эти 3-5 сек видит белый экран, а когда сначала вываливается "пустой" шаблон (но со всеми примбамбасами) и уже потом под оверлееем строиться дерево - выглядит более чем кошерно, главное что бы не было даже намёка на "зависание" системы.

это под аяксом, ессессно. если без него - спасает кеш, просто ;) надо продумать, вшить и закешировать на автомате возможные типы выдачи...

humbert
На сайте с 16.03.2006
Offline
540
#4

А, понял, ну в принципе ага, тем более, что категории находятся в табе, который не активен.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий