Node Reference и аргументы Views. Делаем ссылки из страницы А в страницу B красиво.
Иногда нужно из одной страницы ссылаться на другие, причем чтобы ссылки выглядели более интереснее и привлекательнее + желательно были оформлены в едином формате.
Можно, конечно, использовать и обычные средства ручной постановки ссылок, но я предлагаю рассмотреть более промышленное решение.
Если в типе материала создать дополнительное CCK поле типа Node Reference и настроить его, допустим, автовыбор и неограниченное кол-во.
В примере редактирования страницы с таким виджетом будет выглядеть примерно так:
И иногда этого вполне достаточно.
Но иногда надо вставить в источник что-то из того куда мы ссылаемся.
Сначала убираем отображение по умолчанию и скрываем поля
Потом для этого нужно сделать Views.
Общий вид такой:
124 — это номер страницы с которой идут ссылки (для тестирования)
Делаем второе поле (заголовок)
Третье поле опциональное (ссылка Редактировать)
Обратите внимание во вьювсе сделано отображение блоком, который потом нужно вывести в нужный вам регион. в данном случае у меня он в "Содержании", то есть в центральной области, но его можно ставить в любую колонку.
Оформление
float: right;
font-size: 10px;
color: red !important;
margin-top: -24px;
}
.view-reference-a-b .views-row {
clear: left;
margin-bottom: 10px;
}
.view-reference-a-b .views-field-field-image-fid {
float: left;
margin-right: 10px;
width: 45px;
position: re;
min-width: 44px;
min-height: 20px;
}
.view-reference-a-b .views-field-title {
clear: left;
display: table-cell;
height: 39px;
vertical-align: middle;
width: 100%;
}
Надеюсь эта статья была полезна.
Этот пример можно посмотреть в работе по адресу http://evtravel.com.ua/node/124
Комментарии
было интересно)
Просто и доходчиво. И с картинками.
Теперь есть куда послать
В закладки.
Спасибо, доходчиво и полезно. Пишите еще.
Спасибо. Пишите еще.
+100
Сложилось впечатление, что эту задачу можно решить с помощью Node Hierarhy или Book добавив к ссылкам уникальные классы (для флажков). Как добавить уникальные классы к ссылкам я не знаю (задачи такой не возникало), но просто мысль такая возникла глядя на рабочий пример.
... не, ну можно, конечно и так, но это сложнее с классами, так как поменять картинку для класса нужно лезть в код CSS? а тут можно добавить правило ImageCache. Вариантов для решения одной задачи может быть несколько.
Тут наверное можно было бы использовать модуль views attach. Он к нужному виду материала "прилепливает" отобранный через аргументы вьюс.
Очень внятный туториал от Mustardseed
Вариантов может быть несколько, каждый выбирает наиболее понятный себе.
Да, и спасибо за ссылку. действительно хорошая тема. Очень узкоспециализирована, но зато теперь щнаем куда смотреть/посылать ))
какой модуль добавляет возможность во вьюсах ссылаться на связанные материалы и выводить поля этих материалов?
попробуйте посмотреть relationship во вьюшке
Спасибо!!! Полезно)))
Картинки не отображаются. Очень было бы полезно поглядеть
видимо после переезда удалились...
Подскажите, что должно быть в взаимосвязях и аргументах?
вопрос как через взаимосвязи и аргументы
вывести такую конструкцию
нода типа 1 имеет взаимосвязи с нодами типа 2
как в ноде типа 2 вывести все оставшиеся ноды типа 2 за исключением текущей (все ноды типа 2 должны быть связаны с общей нодой типа 1)
в аргументах исключить из вывода
Прежде чем исключить вывести нужно сначала по такой схеме... пол года ковыряю самостоятельно разные варианты.
еще раз повторюсь
в нодереференсовых нодах нужно вывести нодереференсовые ноды с общей одной нодой...
не вижу ничего сверхъестественного
Я тоже так думал но не вышло, подскажите может что упускаю...
я еще не ясновидящий)
да нет. есть же ситуация
тип ноды 1, имеет несколько типов ноды 2 по полю нодеерференсе
как в одной из типов нод 2 вывести все ноды 2 исключая текущую...
где общее у них тип ноды 1.
на досуге попробую. отпишусь
Примного был бы благодарен.