[решено] Как создать вьюс по авторам

Главные вкладки

Аватар пользователя vicccy vicccy 30 июня 2012 в 19:05

Есть много-много разных книг. Каждая книга принадлежит какому-то автору (автор-термин таксономии в словаре "Авторы").
Нужно создать вьюс для каждого автора книги, т.е. чтобы на странице автора отображались все книги этого автора.
Я знаю как сделать это, но не автоматически. Так авторов будет очень много, хотелось бы сделать так, чтобы все эти вьюсы создавались автоматически.

Скорее всего, я конечно туплю, и есть простое решение. Подскажите пожалуйста!

Комментарии

Аватар пользователя vicccy vicccy 30 июня 2012 в 20:27

ну есть предположения, значит в принципе знаю куда копать. Вот про аргументы уже искала, но ничего не нашла подходящего. category/term/% не получается..

Аватар пользователя multpix multpix 30 июня 2012 в 20:41

вариант раз:
вьюс №1
блок список авторов
выводить термин автор
добавить скрытое поле tid
перезаписать ссылку на каталог_книг/[tid]

вьюс №2
страница каталог_книг
выводить материал книга
отношениями подтянуть термины таксономии
в контекстные фильтры tid
в этом варианте можно сделать подсчет книг у авторов(и не только)

вариант два:
вьюс
страница
выводиь материал книга
фильтр по термину(автору) раскрыть для пользователей
better exposed filters для пущей красивости,
показать фильтры линками + автоматическая отправка + аякс
это - быстро дешево сердито))

вариант три:
search_api facetapi search_api_facetapi search_api_solr search_api_ajax
но:
нужен доступ к работающему solr (с search_api_db сие не проверял)
нужен допил search_api_ajax (на drupal.org решение есть)
самый многообещающий, но с наскока будет сложновато....

понял что погорячился с третьим)) вам наверно во второй....

Аватар пользователя vicccy vicccy 30 июня 2012 в 20:52

Да, второй мне как раз подошёл бы.
Даже уже есть на сайте) Только вот надо чтобы не надо было раскрывать фильтр. Так как этот вид у меня выводится в поле в типе материала, "Все книги этого автора".

Сейчас постараюсь понять Ваш первый вариант..)

Аватар пользователя multpix multpix 30 июня 2012 в 21:25

"vicccy" wrote:

упс))
забув вдягнуты окуляры))))))

то что писал выше - хорошо для общего каталога:
список авторов (допустим слева)
и книги на странице
щелкнули по автору -> на странице только его книги
щелкнули по другому -> теперь книги этого автора

ваше:
вьюсом выводить книги
отношениями подтянуть термин
контекстным фильтром взять tid (id термина-автора)
КОГДА ЗНАЧЕНИЕ ФИЛЬТРА НЕ ДОСТУПНО,
Предоставить значение по умолчанию(id термина)
Загрузить фильтр по умолчанию со страницы
ограничить словарем Авторы
и проверку

Аватар пользователя vicccy vicccy 30 июня 2012 в 21:25

Прошу прощения, а что значит «отношениями подтянуть термины таксономии в контекстные фильтры tid»? Что за контекстные фильтры? У меня есть "Взаимосвязи" и "Аргументы".

Аватар пользователя vicccy vicccy 30 июня 2012 в 21:52

А вот с этими Контекстными фильтрами у меня так ничего и не получается(( Ладно, попробую повозиться, может удастся. Спасибо за совет!

Аватар пользователя vicccy vicccy 1 июля 2012 в 0:33

Стало что-то прорисовываться) Спасибо за ссылку!
Попробую завтра, может с утра лучше мозги заработают)))

Аватар пользователя vicccy vicccy 1 июля 2012 в 13:16

Посмотрела все видео, которые Вы мне прислали. Спасибо, многое прояснилось.
Например то, что у меня все адреса формируются с помощью патчавто, им же заменяются все цифровые ID терминов из адресной строки.
Скорее всего, поэтому у меня ничего не хочет работать автоматически.(

А как задать аргуметы, если у меня в адресной строке только синонимы? В одном из видео я увидела что пишут специальный PHP-код.

Аватар пользователя multpix multpix 1 июля 2012 в 17:00

"vicccy" wrote:
Например то, что у меня все адреса формируются с помощью патчавто, им же заменяются все цифровые ID терминов из адресной строки.

не совсем так,
машинные пути никуда не деваются - посмотрите на странице настройки псевдонимов
рекомендую для аргументов использовать именно машинные (nid, tid, uid..)
а некрасивое catalog/13/13 всегда можно показать как магазин/велосипеды/детские
грубо говоря))
если уж совсем будет плохо, стукните в личку вечером, может подсоблю.

Аватар пользователя vicccy vicccy 8 июля 2012 в 14:01

Разобралась! Если кому-то интересно, то пришлось немного переделать поля.
Было на основе таксономии, но не работало как надо. Сделала поле node reference, и всё заработало как надо, автоматически!

Итак, у меня есть "писатели", у каждого есть своя нода. И есть много-много "книг", у каждой естественно есть автор-"писатель".
При создании материала "книга" нужно выбрать в сск-поле (создано с помощью node reference) "писателя".
Дальше идём во вьюс, там создаём поле "писатель", которое выводится с помощью того же node reference, название "книги", год издания и прочее.
В фильтрах выставляем нужный тип материала - "книга".
Во взаимосвязях я поставила поле node reference "писатель".
Дальше в аргументах выбрала "Материал: Nid", связь с "писателем". Если аргумента нет, то: Подставить аргумент по умолчанию - ID материала из URL. Проверка по типу материала "книга". Тип аргумента - ID материала. Если аргумент некорректен, то: показать пустой текст.

Всю эту вьюшку нужно вывести в поле "книги автора" с помощью типа сск-поля "views" в типе материала "писатели". Поставить галочку чтобы заполнялось автоматически.
И всё работает как надо!