Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Сложная доска объявлений

Сложная доска объявлений
, by

У меня вопрос: как правильно реализовать сложную доску объявлений. 
Допустим у нас есть категория недвижимости, я создаю тип материала недвижимость заполняю поля и сохраняю. А что делать если в недвижимости у меня есть подкатегория с другими полями. Разберем пример когда у меня есть "квартиры" и "дома", мне нужно будет создавать два типа материала или все же 1 "недвижимость" и в этот тип вписать все поля (последнее я нашел на другом форуме). А что делать с тасономией в этом случае? Я веб-программист с большим стажем (7 лет) и только начал писать под drupal 8 уж очень его все рекламируют, до этого писал сам на фреймворках свои проекты. 
В идеале вот как я вижу решение своей проблемы но не знаю как реализовать в druapl:

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

Пока я понял что мне придется создавать таксономию - категории объявлений и добавить для каждой категории свой типматериала, но как это все связать при добавлении нового объявления на сайте, человеку придется вводить и тип материала и таксономию (категорию) что то запутано.

Вот что мне делать при сложной реализайии доски объявления. 
мой скайп santas_skype 

1 answer
votes: 1311
Answer

Попробуйте использовать свойство #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 полей в одном типе материала еще как-то можно все это администрировать, потом начнется просто ад.