коллекция полей v отдельные типы контента


Для моего приложения администратора управления недвижимостью я хочу назначить различные виды сборов для объектов, которыми управляют (например, плата за обслуживание, счета за коммунальные услуги, расходы на обслуживание и т.д.). Таким образом, с каждым объектом недвижимости будет связано много сборов.

В моей первоначальной спецификации у меня есть таблица свойств/квартир и таблица сборов, в которой записывается внешний ключ из таблицы свойств, чтобы связать плату со свойством.

Новое в drupal Я реализовал это, создав тип контента для свойств и тип контента для сборов с полем ссылки на сущность, чтобы записать, какой узел свойств связан с каким узлом сборов. Далее я рассмотрю создание формы, которая позволяет мне заполнять поля из нескольких узлов одновременно, и некоторого кода для захвата правильного свойства и автоматического заполнения поля ссылки на сущность при добавлении новой платы, выбрав "сказать". "добавить плату" со страницы, на которой перечислены свойства.

Теперь у меня есть сомнения. Я также мог бы создать коллекцию полей со всеми полями, необходимыми для оплаты (тип, сумма, дата, комментарий), и разрешить неограниченное количество значений для этой коллекции полей. Поскольку эта коллекция полей хранится как сущность, разве это не делает то же самое, что и выше, без необходимости использовать поле ссылки на сущность и, таким образом, избегать некоторого кодирования? Кроме того, если бы я хотел добавить плату за многие квартиры одновременно, не было бы проще использовать полевую коллекцию?

Я слишком новичок в drupal, чтобы поймите разницу. Теперь это связано с тем, что я хочу делать с данными после их сохранения (они должны быть доступны для использования в вычисляемых полях, должны быть перечислены с данными из других узлов, например, для поиска по типу заряда), но я не знаю, как узнать, что лучше, не создавая его дважды!

Author: NectarSoft, 2013-12-23

1 answers

Хороший вопрос, но на него трудно ответить. Я не могу сказать вам, что выбрать, но я надеюсь, что мои мысли помогут.

Если я правильно понимаю ваши потребности, у полевой коллекции определенно есть некоторые преимущества. Во-первых, коллекции полей специально созданы для связи с другими объектами. Каждый объект коллекции полей всегда связан с одним (и только одним) узлом. Это, похоже, соответствует вашему варианту использования, хотя я бы не знал, как легко добавить несколько коллекций полей на несколько узлов в однажды. По моему опыту, коллекция полей предоставляет довольно простой способ для сопровождающих сайтов добавлять новые данные, так что это хорошо.

Недостатком коллекций полей является то, что многие модули contrib по-прежнему сосредоточены на узлах. Для каждого сайта, который вы создаете, трудно предсказать, какие проблемы вы будете решать или какие функции добавите через 6 месяцев после запуска. Если вы решите использовать коллекции полей, вы можете оказаться в ситуации, когда захотите добавить что-то, что было бы очень просто с узлами.

Поскольку вы изучаете различные решения, возможно, вам также следует взглянуть на Drupal Commerce, хотя бы для вдохновения. Это действительно гибкая система, которая добавляет объекты позиций в заказы более или менее так, как вы хотите добавить расходы к свойствам.

 1
Author: marcvangend, 2013-12-23 23:19:16