Как лучше организовать типы публикаций (структуру сайта)?

Тема в разделе "Drupal", создана пользователем Attyla, 1 июл 2015.

Информация :
Прежде чем создать новую тему внимательно ознакомьтесь с правилами раздела
Модераторы: DMS
  1. Attyla

    Attyla

    Регистр.:
    21 ноя 2012
    Сообщения:
    158
    Симпатии:
    42
    Допустим, на сайте есть публикации которые называются «Мероприятия», допустим, их очень много. У каждого мероприятие есть : общее описание + фото + даты + адреса (город, улица) +контакты (таких характеристик тоже будет много).
    Думаю организовать все так:
    Общее описание будет полем в типе публикаций «Мероприятия».
    Создать тип: «Фото с мероприятий» каждое фото это будет одна публикация.
    Создать тип: «Даты» с полями даты, города и контактов.

    По адресу site.com/events будут выводится все мероприятия, по 10 на страницу
    По адресу site.com/dates нужно выводить все даты по 100 на странице
    С кратком содержимом ноды типа «Даты» нужно выводить и название мероприятия к которому оно относится.
    Для «Фото с мероприятий» хотелось бы чтобы они были доступны как даты по адресуsite.com/events_photos по 20 на страницу.

    Также хотелось бы организовать все так чтобы по адресу: site.com/events/event_name_1/photos и site.com/events/event_name_1/dates выводились фотографии и соответственно даты конкретного мероприятия.

    Вопрос состоит в том чтобы использовать типы публикаций или группы доп. полей? Дело в том чтобы организовать все как можно масштабируемее.
    Возможно, мои соображения покажутся не правильными, прошу помочь в данном вопросе, хочу узнать ваше мнение по этому поводу и какие модули вы бы использовали если бы вам пришлось бы делать что-то подобное. Спасибо.

    Если даты будут добавлены в одной публикации «Мероприятия» как потом их выводить на странице site.com/dates будет ли возможно потом выводить 100 доп. полей а не доп. поля из 100 мероприятий? С точки зрения добавления публикаций группы доп. полей удобнее, с точки зрения гибкости вывода, не знаю. Также если использовать тип «Даты», какие названия им давать чтобы было удобнее их редактировать (быстро находить) из административной панели. Плюс у каждой фотографии может быть короткое описание + другие характеристики.
     
  2. VVS

    VVS Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    84
    Симпатии:
    11
    Не совсем ясно зачем фото и даты отдельный тип ноды? Почему нельзя сделать каждое отдельным полем в типе Мероприятие, и даже не группа? Просто порождение лишних сущностей, кмк.
    Контакты ещё можно сделать отдельным типом, если они будут повторяться в различных Мероприятиях.

    В общем задача пока очень пространная. Возможно следует задуматься о повторяемости и отношениях один-к-одному, один-ко-многим, многие-к-одному в данной экосистеме.

    И может стоит задать вопрос в
    там как-то более близкое к этому сообщество.
     
  3. Attyla

    Attyla

    Регистр.:
    21 ноя 2012
    Сообщения:
    158
    Симпатии:
    42
    Соглашусь что задача не стандартная. Когда все в одной ноде легче при редактировании, однако остается вопрос с выводом, я просто не знаком близко со многими возможностями Drupal, возник вопрос потому что я не знаю если можно выводить (и как это делается) например 100 фото из разных публикаций если их количество варьирует в каждой публикации в одной 5, в другой 7, в другой 20 и т. д., мне не нужно 100 публикаций выводить или все фото из 100 публикации, а 100 значений полей из отсортированных по дате публикаций (мероприятий).

    Я так понял вы предлагаете использовать что-то подобное только для Drupal: http://www.advancedcustomfields.com/add-ons/repeater-field/? Если знаете хороший аналог посоветуйте пожалуйста.
     
  4. VVS

    VVS Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    84
    Симпатии:
    11
    Вывести все фотографии (и не только это сделать) из любых типов нод можно с помощью модуля views - тут различные типы отбора, фильтрации, и настройка индивидуального вывода.
    Возможно стоит глянуть на модули entity_reference и inline_entity_form. Но, я бы рекомендовал делать все поля в одном типе ноды, если верно понял задачу.
     
    Последнее редактирование: 2 июл 2015
    Attyla нравится это.
  5. Attyla

    Attyla

    Регистр.:
    21 ноя 2012
    Сообщения:
    158
    Симпатии:
    42
    - наверное я не буду использовать их, ограничусь только группами доп. полей.
     
  6. Attyla

    Attyla

    Регистр.:
    21 ноя 2012
    Сообщения:
    158
    Симпатии:
    42
    Продолжая тему: Field Collection или Multifield для таких целей? Какой модуль лучше использовать для динамических доп. полей? В чем преимущества и недостатки каждого (взаимодействие с другими модулями, например Views, с поиском и т.д.) ?
     
  7. VVS

    VVS Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    84
    Симпатии:
    11
    Для какого именно поля? Для фото и даты просто задаёте в настройках поля "Количество значений" в "Не ограничено". И при создании ноды будет кнопка "Ещё" для нового значения поля.
    Для каких целей коллекции или мультиполя?
     
  8. Attyla

    Attyla

    Регистр.:
    21 ноя 2012
    Сообщения:
    158
    Симпатии:
    42
    Для такой конструкции:

    Дата-0+Город-0+Контакты-0
    Дата-1+Город-1+Контакты-1
    Дата-2+Город-2+Контакты-2
    ...
    Дата-N+Город-N+Контакты-N
     
  9. VVS

    VVS Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    84
    Симпатии:
    11
    Не понимаю всё равно, зачем так?
    Почему не так, о чём я изначально толкую?
    Тип ноды "Мероприятие":
    - Дата(ы) ("Не ограничено")
    - Фото (несколько)
    - Город
    - Контакт(ы) ("Не ограничено")

    Поясните.

    Видимо вам проще структуру набросать сначала в графическом виде: на бумаге, в файле.
     
  10. Attyla

    Attyla

    Регистр.:
    21 ноя 2012
    Сообщения:
    158
    Симпатии:
    42
    Потому что дата+город+контакты+фото они между собой должны быть связаны (в группе, они информативны только в месте). Например: если я знаю какого числа произойдет мероприятие_N (мероприятие_N - может быть организовано в разных городах в разные дни), буду знать контакты организаторов но не буду знать адреса (города) то я не смогу попасть на это мероприятие.