Всем добрый день.
[B]Суть разработки:[/B]
Есть класс (инфоблок определенного типа), например ноутбуки. Данному классу создаются характеристики (свойства инфоблока), которые имеют ряд дополнительных характеристик, например тип сравнения, выводить ли эту характеристику в фильтр, тип фильтра, ед. измерения и т.п. (эти характеристики хранятся в отдельном инфоблоке)
Типы характеристик идентичны свойствам инфоблока (а как же иначе :D )
Всё это богатство редактируется из единой формы. Т.е. можно динамически для класса создать характеристику, поместить ее в отдельную группу, изменить содержание характеристики типа список (причем список как свойство, так и другой инфоблок).
Теперь следующий шаг - это[B] создание единых характеристик для классов (базовый класс)[/B].
Есть два варианта.
[B]1/ создаем единый инфоблок[/B] для базового класса и его на другие классы (другие инфоблоки). Например создал новое свойство а оно попадет через связь в остальные классы (с выводом в отдельной вкладке на форме редактирования элемента класса (инфоблока) и т.п.)
[B]2/[/B] не делать этого, а при создании нового класса просто [B]создавать дефолтные характеристики[/B].
[B]Достоинства 1го способа:[/B]
централизованное хранение базовых характеристик для всех классов (цена, цвет и т.п.)
если изменим в одном месте - то отразиться на все классы
[B]Недостатки 1го способа:[/B]
А как искать значение? Как реализовать сравнение, фильтрацию? Придется соединять два инфоблока и делать лишние запросы к БД
[B]Достоинства 2го способа:[/B]
Храниться все в классе. Только свистни и все сравниться и найдется (отфильтруется).
[B]Недостаток 2го способа:[/B]
Сложно что-либо изменить. Например решил админ добавить свойство цена старая - и понеслась .. по кочкам. 20 классов - 20 изменений.
Вот здесь у меня возник вопрос. Что выбрать? Что бы и будущюим разработчикам было не сложно поддерживать этот модуль, а админу не сложно админить, и при том, что бы не загружать Битрик лишними запросами при работе пользователей.
[B]Суть разработки:[/B]
Есть класс (инфоблок определенного типа), например ноутбуки. Данному классу создаются характеристики (свойства инфоблока), которые имеют ряд дополнительных характеристик, например тип сравнения, выводить ли эту характеристику в фильтр, тип фильтра, ед. измерения и т.п. (эти характеристики хранятся в отдельном инфоблоке)
Типы характеристик идентичны свойствам инфоблока (а как же иначе :D )
Всё это богатство редактируется из единой формы. Т.е. можно динамически для класса создать характеристику, поместить ее в отдельную группу, изменить содержание характеристики типа список (причем список как свойство, так и другой инфоблок).
Теперь следующий шаг - это[B] создание единых характеристик для классов (базовый класс)[/B].
Есть два варианта.
[B]1/ создаем единый инфоблок[/B] для базового класса и его на другие классы (другие инфоблоки). Например создал новое свойство а оно попадет через связь в остальные классы (с выводом в отдельной вкладке на форме редактирования элемента класса (инфоблока) и т.п.)
[B]2/[/B] не делать этого, а при создании нового класса просто [B]создавать дефолтные характеристики[/B].
[B]Достоинства 1го способа:[/B]
централизованное хранение базовых характеристик для всех классов (цена, цвет и т.п.)
если изменим в одном месте - то отразиться на все классы
[B]Недостатки 1го способа:[/B]
А как искать значение? Как реализовать сравнение, фильтрацию? Придется соединять два инфоблока и делать лишние запросы к БД
[B]Достоинства 2го способа:[/B]
Храниться все в классе. Только свистни и все сравниться и найдется (отфильтруется).
[B]Недостаток 2го способа:[/B]
Сложно что-либо изменить. Например решил админ добавить свойство цена старая - и понеслась .. по кочкам. 20 классов - 20 изменений.
Вот здесь у меня возник вопрос. Что выбрать? Что бы и будущюим разработчикам было не сложно поддерживать этот модуль, а админу не сложно админить, и при том, что бы не загружать Битрик лишними запросами при работе пользователей.