Здравствуйте!
С друпалом - пару-тройку дней, поэтому заранее прошу прощения, если буду спрашивать для вас прописные истины.
В качестве проекта для обучения пробую создать каталог по спортивным соревнованиям.
Дано:
Организации - организации, которые проводят турниры
Турниры - состоят из набора поединков
Поединки - в них участвует два спортсмена
Спортсмены - могут состоять с клубах
Клубы - отдельные спортивные ассоциации
Нужно все эти пять сущностей поместить в меню и иметь возможность просмотра.
Однако, почти все сущности имеют связную информацию, которую нужно вывести внизу "карточки". Например, в карточке "Организация", нужно вывести таблицу Турниров. В карточке "Турнир" - вывести таблицу Поединков. В карточке "Спортсмен" - вывести таблицу Поединков, где он участвовал.
По факту везде одна и та же задача, только с разными сущностями. Ну а теперь сами вопросы:
1) Связь материалов я организовал с помощью модуля Entity Reference. Загружены всеми рекомендуемые Views, CTools, Panels и еще прочие. Нашел еще модуль ViewField, только не знаю в тему ли он? Каковы дальнейшие шаги, что нужно, чтобы получить вложенную таблицу/список в просмотре материала?
2) Не использовал таксономию. Пока не пойму, дублирование названий сущностей в списках таксономии мне что-то даст? В моем случае что я теряю, что не смогу без нее сделать?
Ну вот пока вроде все.
Комментарии
создать блоки с помощью тех же вьювсов и разместить их где нужно.
С помощью таксономии можно организовывать иерархические списки. Привязывать ноды к терминам таксономии, как к отдельным, так и к общим.
Все привязанные к терминам ноды легко вывести на странице, таким образом категоризируя ноды.
Термины могут быть расширены пользовательскими полями, так же как и обычные материалы.
С этим набором можно реализовать необходимый Вам функционал. В сети полно решений.
Никк,bumble, большое спасибо за ответы и советы!
Никк, вопрос к тебе (извини если на "ты", я не знаю как тут принято) - модуль вьювс позволяет размещаться ниже по уровню? (Вьювс во вьювсе) Типа, вьювс1 - может содержать вьювс 1.1 и вьювс 1.2? Если "да" то как, если нет - как это решаемо?
bumble, thx за описание. По описанию таксономии в сети, я это смутно понимал. Но всеж вопрос ... если термины таксономии можно снабдить доп полями ... зачем нужны ... материалы? Тот же вопрос, немного по-другому, если мы "материалы" оформляем в виде статей словарей таксономии - что теряется относительно того, если мы оформим это "материалом"?
Ну и еще немножко сопутствующих вопросов ....
1) "Вложенную таблицу" я всеж смог оформить с помощью модуля Views Field. Там действительно есть выбор, что выводить "настройки страницы отображения" или "...блока". Вопрос фильтрации-выборки! Как сделать чтобы, учитывая значение Reference, выводить только "привязанные" позиции?
2) Если пользуете модуль Views Table Highlighter, как ставить условие на назначение стилей полей? Пример: материал имеет поля F1,F2,F3,F4. Поля F1 и F2 выводятся (отображаемые), но должны иметь стили определяемые вычисляемым значением, исходя из значений F3,F4. "Приземленные" варианты:
* F1 (красный),F2 (черный) - F1 победил F2
* F1 (черный),F2 (красный) - F1 проиграл F2
* F1 (зеленый),F2 (зеленый) - ничья
* F1 (серый),F2 (серый) - NC (не состоявшийся)
Термины, как и ноды это сущности Drupal. С 7-й версии поля можно добавлять ко всем сущностям (комментарии, пользователи, таксономия, материалы, commerce-товары, field-collection, свои сущности и т.д.)
Например, из сабжа, можно сделать Организации словарем, добавить поле выбора организации при создании турнира. Таким образом можно будет выбирать уже созданные организации. А к организациям добавить свои поля, например логотип, или тип спорта...
Другой пример - обычный каталог для магазина. Нода - товар, категория каталога - термин.
Основное преимущество таксономии - возможность построения иерархических списков.
Необходимо использовать связь со ссылаемой или ссылающейся нодой, в зависимости от потребностей.
По ER очень много материала в сети, в т.ч. на этом ресурсе.
Вьюс - это просто представление твоих материалов. Этот модуль очень гибкий и позволяет отразить твои материалы на сайте как душе угодно.
Ты можешь создать представление для страницы, а можешь для блока. Блок можно вывести где угодно на странице. При создании вьюса указываешь: страница или блок. Если ты создаешь блок, то после сохранения этого блока во вьюсе, он появится в списке блоков в "структура->блоки". И вот здесь уже ты задаешь расположение этого блока. Если подходящего места нет, тебе нужно задать его - в файлах твоятема.info и page.tpl.php
- дубль -
Еще раз, благодарю за ответы! Нужно время, буду пробовать.
Пр вопросу "Views Table Highlighter" ... есть какая инфа, или я "первопрходец"?)
-----------------------------------------------------------------------------------
Попутный вопрос: что есть "дисплеи"? Если представить сайт как ленту - в ней располагаются блоки (Panels). В блоках выводится материал согласно представлениям (Views). А где и каким местом тут "дисплеи"? Или я все не так понял?
Ни разу не пользовался этим модулем.
В каждом модуле с drupal.org есть описание - в папке модуля файл Readme.txt. Обычно там есть ответы на большинство вопросов.
Так же можно почитать о багах и проблемах модуля в разделе Issues
Ну и поиск конечно. В том числе и на dru.
Готовых решений никто не даст.
P.S. суть работы модуля ярко представлена на картинке модуля.
bumble, сенкс. Ну что ж ... есть материал для размышлений) По поводу "дисплеев" ... "я прямо есть не могу, паслюшай, да!!!" (С) Армянская народная) Нужен ваш коммент)
Если имеется ввиду дисплей представления (views), то
каждое представление может иметь множество дисплеев.
Например: Страница (список всех материалов), Блок (последние 5 материалов), RSS-лента...
Настройки можно применять глобальные, или для каждого дисплея свои.
Ясн!!! Если я правильно понял - это набор возможных "способов использования" вида? Иными словами - "вид", это именованный массив возможных представлений (дисплеи - его наименования), или не так?