Руководство по CMS Drupal от HTML до социальных сетей
4.5.4. Views Связи (Relations)
Связи (relations) в друпале очень важная часть, так соединяются термины таксономии и контент, пользователи и контент, товары и отображение товаров в commerce.
Возможно вашу связь нужно вызывать из другой типа сущности. Например у вас есть связь с таксономией Рубрикатор в типе материала Блог, а вы хотите вывести Views на странице пользователя со всеми рубриками в которых он оставил записи в блоге. Вам нужно сначала вывести контекстный фильтр по UID пользователя, потом добавить связь авторства пользователя к нодам которые он создал. Только тогда появится связь с термином таксономии. То есть иногда связь нужно выводить опосредованно, через другую связь: Пользователь -> ноды -> таксономия. В drupal commerce связи еще намного длиннее, чтобы вывести картинку продукта в корзине: Заказ -> line item -> commerce product -> product display
Подскажите, пожалуйста, а можно ли связать две ноды, нпример, есть тип материала автор и тип материала книга. Как правильно связать авторов и написанные ими книги?
Подскажите пожалуйста, можно ли сделать в представлении два блока 1 блок "Автор" "Название" 2 блок "Содержание". И разместить в одном регионе по горизонтали.
Есть два представления с блоком. В одном оглавление во втором содержание. Подскажите как сделать чтобы новости выводились внутри второго блока не переходя на страницы /node/ (типо фреймов).
Лучше всего использовать для этого модуль Book (он в ядре друпала), чтобы слева был иерархический список материалов, а справа материалы. Если все-таки нужно размещать несколько разный views, то лучше всего использовать Panels:
Мое решение нашлось в слайдшоу.
Моя задача была следующей. Расположить новости "Заголовок", "Автор" и "Дата публикации" в левой части региона, а "Содержание" в правой. Правая часть должна появляться при нажатии на левую часть и занимать такой размер который занимает левая часть.
Пришлось искать решение своей задачи на просторах инета, все из-за ссылки в поле материалов. Прошу автора дополнить материал (слайдера), могут попасться такие же неучи как я.
После того как разработчики PHP определились с номером версии для нового PHP (новая версия будет PHP 7.x, а не PHP 6.x, наработки по 6.x были перенесены в ветку 5.x), пришло время спланировать граф
Комментарии
Добавить комментарий
Полное понимание связей и
Полное понимание связей и фильтров приходит только при достаточно хорошем понимании SQL. Ведь это ни что иное, как дополнительные JOIN и WHERE.
И то верно, поэтому вот
И то верно, поэтому вот ссылки на статьи:
http://drupalbook.ru/drupal/uroki-php-urok-3-rabota-s-bd-mysql
http://drupalbook.ru/drupal/uroki-php-urok-35-rabota-s-bd-mysql-operator...
А что, если я хочу выбрать
А что, если я хочу выбрать связь, но её нет в конкретном представлении? А в других представлениях она появляется. В чём может быть ошибка?
Возможно вашу связь нужно
Возможно вашу связь нужно вызывать из другой типа сущности. Например у вас есть связь с таксономией Рубрикатор в типе материала Блог, а вы хотите вывести Views на странице пользователя со всеми рубриками в которых он оставил записи в блоге. Вам нужно сначала вывести контекстный фильтр по UID пользователя, потом добавить связь авторства пользователя к нодам которые он создал. Только тогда появится связь с термином таксономии. То есть иногда связь нужно выводить опосредованно, через другую связь:
Пользователь -> ноды -> таксономия.
В drupal commerce связи еще намного длиннее, чтобы вывести картинку продукта в корзине:
Заказ -> line item -> commerce product -> product display
Подскажите, пожалуйста, а
Подскажите, пожалуйста, а можно ли связать две ноды, нпример, есть тип материала автор и тип материала книга. Как правильно связать авторов и написанные ими книги?
Используйте модуль Entity
Используйте модуль Entity Reference он уже в ядре 8го друпала:
https://www.drupal.org/project/entityreference
Добавьте в поля типа материала Книга поле Автор книги с ссылкой на тип материла Автор.
Возник вопрос а есть ли
Возник вопрос а есть ли возможность видо изменять запись SQL запроса. Тем самым подстраивая нужный результат. Есть ли для этого модули и т.д.
Для изменения SQL запроса
Для изменения SQL запроса модуля можно использовать hook_query_alter():
https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Database%...
Подскажите пожалуйста, можно
Подскажите пожалуйста, можно ли сделать в представлении два блока 1 блок "Автор" "Название" 2 блок "Содержание". И разместить в одном регионе по горизонтали.
Лучше это сделать двумя
Лучше это сделать двумя разными views'ами, потому что нужно выводить отдельно пользователей и отдельно ноды.
Есть два представления с
Есть два представления с блоком. В одном оглавление во втором содержание. Подскажите как сделать чтобы новости выводились внутри второго блока не переходя на страницы /node/ (типо фреймов).
Лучше всего использовать для
Лучше всего использовать для этого модуль Book (он в ядре друпала), чтобы слева был иерархический список материалов, а справа материалы. Если все-таки нужно размещать несколько разный views, то лучше всего использовать Panels:
https://www.drupal.org/project/panels
Мое решение нашлось в
Мое решение нашлось в слайдшоу.
Моя задача была следующей. Расположить новости "Заголовок", "Автор" и "Дата публикации" в левой части региона, а "Содержание" в правой. Правая часть должна появляться при нажатии на левую часть и занимать такой размер который занимает левая часть.
Пришлось искать решение своей задачи на просторах инета, все из-за ссылки в поле материалов. Прошу автора дополнить материал (слайдера), могут попасться такие же неучи как я.