- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ищу по всему интернету ответ на вопрос, ну и заодно тут спрошу.
Имеем сайт на битриксе, обычный магазин, коих тысячи в сети.
Товаров от 100.000 штук. У каждого товара есть некие свойства: длина, вес, масса, количество в наборе, напряжение и т.д.
Всего более 5000 не повторяющихся названий свойств в базе.
Все товары к одному инфоблоку привязаны для того, чтобы один и тот же товар можно было добавить в несколько разделов.
При редактировании товара мы имеем в карточке все эти самые свойства, а заполнить надо всего-то 3 - 4 свойства.
И начинаются тормоза - на странице раздела подгружаются все свойства и пока не загрузятся с разделом работать невозможно.
На странице товара ситуация лучше - подгружает только те свойства, что прописаны у родительского раздела.
Как правильно работать с большим количеством свойств?
Раскидать, 5000 инпутов/селектов и прочего с навешанными событиями и прочим браузер боюсь не вытащит и вопрос тут не к битриксу, у вас явно что то не то с архитектурой каталога, раз у вас что то типо озона от шин до детского питания и вы решили все это запихнуть в один тип данных.
Воспринимайте инфоблок как расширение файла, например word документ текстовый, exel - табличный, png - картинка, у вас получается что вы хотите сделать такой универсальный файл который может быть чем угодно и сразу всем - это не корректно и проблема с подвисанием страницы еще не самая страшная проблема в целом такого каталога.
Но у битрикса несложно дорабатывается интерфейс в админке и даже если вам реально нужен такой уникальный кейс, сделайте какую то самостоятельную систему управления всем этим
Aisamiery, на витрине, т.е. там где пользователь будет, там все логично - фильтр небольшой.
Вот взять Я.Маркет, если перейти на страницу холодильников - https://market.yandex.ru/catalog--kholodilniki/71639/list?hid=15450081&onstock=1&local-offers-first=0, то мы увидим небольшое число свойств товара в фильтре
Тоже самое в плитах - https://market.yandex.ru/catalog--kukhonnye-plity/54954/list?hid=237420&onstock=1&local-offers-first=0
При этом часть свойств пересекается в этих разделах (категориях), а часть индивидуальна. Но согласно архитектуре Битрикса все свойства лежат в главном инфоблоке.
Т.е. есть инфоблок Товары, в нем разделы Бытовая техника, Электроинструмент, Одежда. У каждого раздела свои подразделы, в которых товары. У товара 5-20 свойств.
Товаров 100.000, разделов и подразделов 1000 - в сумме получается около 5000 индивидуальных свойств. Вот они и лежат в инфоблоке.
humbert, Все верно, а можно сделать тип инфоблока Товары, а в нём уже сделать инфоблоки Бытовая техника, Компьютеры, Одежда. Вы же не будете фильтровать системные блоки компьютера с футболками по размеру? Задать каждому свои свойства, тем более у типа товара не больше 20 свойст и можно воспользоваться инфоблоками 2.0, когда все свойства хранятся в одной строке и одним запросом можно достать все значения а не 20 запросами с стандартной EAV архитектурой
Aisamiery, а как поместить товар сразу в несколько инфоблоков?
Вот возьмем Инструменты (тематика как раз моя), там инфоблоки: Ручной инструмент, Автоинструмент, Электроинструмент, Пневматический инструмент, Дачный инструмент
В пневматическом инструменте есть пневматический гайковерт, он же будет в Автоинструменте.
Лопата - это и ручной инструмент, и дачный инструмент.
Как в таком случае быть?
humbert, У вас 5000 свойств чисто по инструментам?
Обычно используется торговый каталог, если используете инфоблоки 2.0 то у вас получается до 50 свойств у товара и + еще до 50 свойств у него в торговых предложениях. Родственные вещи, такие как инструменты лучше поместить в один инфоблок, тем более если хотите их показывать в разных разделах.
Основному товару запихиваете общие свойства, такие как размеры, бренды, тип применения, что там еще, а в офферы уже запихиваете уникальные для данного типа инструмента свойства.
Такие каталоги, такого объема проектируются заранее, перед созданием сайта и запихивать всё в один инфоблок не самая отличная идея. И даже если потом нужна какая то функциональнось на определенной странице/поиске или еще чего то, то рядом ставится какое нибудь NoSQL решение и дергается всё от туда.
Вот в том то и дело, что такое надо проектировать заранее, но нет бюджета на проектирование - такие проекты стоят не одну сотню тысяч рублей, а может даже и не рублей.
Поэтому один инфоблок и куча характеристик.
Либо можно сделать товару поле вида Тип применения мультисписком и в разделе указать какие товары с какими значениями из этого списка подтягивать, но это чуть мудренее конечно, но тоже как то делали такой кейс, когда заказчик нам грузил все товары в корень со своей системы и по разделам раскидывать отказывался
Aisamiery, у меня самописный движок магазина есть, кривой, корявый, но в базе более 50.000 уникальных свойств, а если посчитать сколько значений этих свойств у товаров, то более 2 млн. записей.
Движок не тормозит, хотя написан на калькуляторе.
По сути тормоза в Битриксе в админке на странице инфоблока или на странице раздела - битрикс зачем-то грузит все свойства. Достаточно было в инфоблоке их не показывать, либо разбить на постраничный вывод.
А в разделе показывать только тогда, когда пытаешься выбрать нужное свойство для данного раздела.
У меня как раз так и устроено - отдельная таблица для свойств, без привязки к разделам и каталогу. Постраничный вывод свойств в админке. При добавлении свойства к нужному разделу выбираем из списка всех свойств, но снова в постраничном виде, а не целым списком.
Есть ли возможность отключить показ и редактирование свойств при редактировании инфоблока? Ну и тоже самое с разделом - подгружать список свойств только тогда, когда надо добавить свойство в раздел. Такое реально? Поиском не нашел