Сложная доска объявлений
У меня вопрос: как правильно реализовать сложную доску объявлений.
Допустим у нас есть категория недвижимости, я создаю тип материала недвижимость заполняю поля и сохраняю. А что делать если в недвижимости у меня есть подкатегория с другими полями. Разберем пример когда у меня есть "квартиры" и "дома", мне нужно будет создавать два типа материала или все же 1 "недвижимость" и в этот тип вписать все поля (последнее я нашел на другом форуме). А что делать с тасономией в этом случае? Я веб-программист с большим стажем (7 лет) и только начал писать под drupal 8 уж очень его все рекламируют, до этого писал сам на фреймворках свои проекты.
В идеале вот как я вижу решение своей проблемы но не знаю как реализовать в druapl:
Тип материала 1 - объявления
Таксономия вбиваем все категории, в каждой категории свои наборы полей, и когда мы добавляем объявление и выбираем ему категорию (таксономию) то выводяться те поля которые есть у таксономии.
Пока я понял что мне придется создавать таксономию - категории объявлений и добавить для каждой категории свой типматериала, но как это все связать при добавлении нового объявления на сайте, человеку придется вводить и тип материала и таксономию (категорию) что то запутано.
Вот что мне делать при сложной реализайии доски объявления.
мой скайп santas_skype
Попробуйте использовать свойство #states:
https://randyfay.com/states
https://www.lullabot.com/articles/form-api-states
Если это не подойдет то писать кастомные ajax-callback'и для подгрузки нужных полей в форму ноды, когда выбирается раздел:
https://www.sitepoint.com/using-ajax-forms-drupal-8/
http://enzolutions.com/articles/2014/11/25/how-to-work-with-drupal-8-forms-with-ajax/
Примеры также можно смотреть в модуле examples:
https://www.drupal.org/project/examples
У меня тогда вопрос, если у меня будут все для каждой категории свой тип материала (т.к. у всех разные поля) зачем использовать таксономию ?
Я вот просто не пойму как сделать такую доску объявления - именно разработать архитектуру. Как правильно делать типы материала для каждого объявления или делать один тип объявлений и в него вписать все поля от всех типов. Мне нужен совет "А как бы вы сделали
"
Таксономия имеент отдельную админку для добавления материалов, можно использовать модули Taxonomy hierarchal select:
https://www.drupal.org/project/hierarchical_select
Taxonomy manager:
https://www.drupal.org/project/taxonomy_manager
По возможности сократите количество полей и делайте все через один тип материала. Посмотрите на avito, там все достаточно просто, минимум полей. До 100 полей в одном типе материала еще как-то можно все это администрировать, потом начнется просто ад.