хочу создать сложную сущность, которая содержит описательную часть и произвольное (задаваемое пользователем) количество полей.
пример 1:
заказ на оптово-розничную базу (сложная сущность)
1. название организации заказчика
2. заказ (включает в себя сущности, измеряющиеся в различных единицах)
2.а. кока-кола. 30 паков
2.б. сахарный песок. 100 килограмм
2.в. мыло хозяйственной. 200 штук
...
3. примечания (текстовое поле)
как работать с такими сложными сущностями? на пример суммировать содержимое нескольких заказов.
пример 2:
заказ 1.
цемент 2 мешка
кирпич кремлевский 1000 штук
паркет дубовый 100 кв.м.
заказ 2.
цемент 10 мешков
кирпич кремлевский 8000 штук
песок речной 2 тонны
суммарный заказ.
цемент 12 мешков
кирпич кремлевский 9000 штук
паркет дубовый 100 кв.м.
песок речной 2 тонны
подскажите пожалуйста как это реализовать или где о чем-то подобном можно почитать
Комментарии
Волшебный модуль ССК
Да, при вводе заказа получается, надо вводить данные master-detail.
Я думаю, можно поступить так.
Тип узла - организация
Тип узла - вид товара (ед-цы измерения можно задать через таксономию)
Тип узла - заказ
А вот для заказа придется разработать что-то вроде составного ССК-поля, представляющего товар в этом заказе.
API Друпала позволяет разрабатывать свои типы полей, только нужно разбираться, как это делать.
В этой книге (http://content-management-systems.info/drupal/book/isbn-9785845917430) рассказывается на примере поля для выбора цвета, как можно создать новый тип поля.
И в этом поле будут след. данные.
- nid заказа
- nid вида товара
- количество (штук, кг, мешков и т.д.)
Ну, и настроить, чтобы в рамках этого заказа можно было вводить неограниченное кол-во этих полей.
Ну а дальше достаточно посмотреть, как эти данные представляются в базе данных и получать суммы и т.д. уже с помощью MySQL. Думаю, это несложно.