Заранее прошу прощения у почтенной публики за качество перевода - переводил для себя.
Буду рад, если кому-нибудь пригодится.
Оригинал текста.
Аргументы являются частью URL вьюсы, которые могут быть использованы для сжатия конечного вида адреса. Классический пример аргумента в случае taxonomy/term/TID или tracker/UID. В первом случае во вьюсе запрещены к публикации материалы ID таксономии которых указан. Во втором случае вьюса запрещена к публикации определённым пользователем.
Существует также специальный случай в котором аргументы могут быть встроены в URL адрес вьюсы. Например, адрес вида URL /user/$arg/track будет действительным для любого URL /user/ЧТО УГОДНО/track адреса и ЧТО УГОДНО должно быть вставлено во вьюсу как первый аргумент.
Вьюсы могут иметь множественные аргументы. Например, вы можете иметь блог в качестве вьюсы и установить UID, Год, Месяц и День как аргументы в этом порядке. Таким образом URL будет выглядеть следующим образом: blogs/1/2006/3/15 который будет сообщать о том, что все посты блога написаны пользователем с id #1, 15 марта 2006 года.
Аргументы также могут быть определены как *, что будет интерпретироваться как «все значения». Таким образом в случае blogs/*/2006/3/15 будут демонстрироваться посты блога от всех пользователей в этот день.
Описание Заголовка Аргумента
Если страница имеет аргумент, то его заголовком будет последний заданный аргумент. Если этот аргумент не имеет заголовка, то используется предыдущий, если предыдущего аргумента нет, то используется заголовок страницы. Каждый из этих аргументов может использовать символ замещения %.
Пример заголовка аргумента
Предположим у нас есть вьюса , которая будет выбирать ноды по признакам автор и/или термин таксономии, которому принадлежит нода. Первый аргумент это ID пользователя, а второй аргумент ID термина таксономии. Оба аргумента имеют набор установок «по-умолчанию» как итоговую вьюсу; это означает, что если мы не зададим аргументы, то мы получим итоговую вьюсу для аргумента ID пользователя, которая будет показывать список пользователей.
Заголовок Страницы (Page Title) (текстовое поле "Title" под панелью "Page" на странице администрирования вьюсы) задаёт заголовок страницы, когда аргументы не заданы. В нашем примере со списком пользователей заголовком будет "Users".
Резюмируем: наш первый аргумент это ID пользователя, а второй аргумент ID термина таксономии. Applying the explanation in the Argument Title Overview above to our example we get the following order of operations:
Как Вьюсы определяют заголовок для нашего примера
1.Если оба аргумента - ID пользователя (аргумент 1) и ID термина таксономии (аргумент 2) определены, будет использоваться заголовок второго аргумента. Мы установим его как "User %1, Term %2" таким образом в окончательном виде заголовок будет выглядеть подобно такому "User John Doe, Term Some Term".
2.Если ID пользователя (аргумент 1) задан, а ID термина таксономии (аргумент 2) нет, то будет использоваться Заголовок Аргументв для первого аргумента. В этом случае мы определим его как "Terms for %1", результатом будет "Terms for John Doe".
3.Если ни один из аргументов не определён, Заголовок Страницы (поле "Title" под панелью "Page") будет использован в заголовке "Users".
Типы Аргументов
Default
Эта опция говорит вьюсе, что делать, если аргумент не задан. Выбор возможен следующий:
Return a Page Not Found (Вернуть Страница Не Найдена). В этом случае аргумент не опциональный и если он не определён, то будет показываться ошибка 404.
Show all values (Показывать Все Значения). В этом случае аргумент полностью опциональный, и если он не определён, то это просто игнорируется.
Display a Summary View (Показывать Суммарную Вьюсу). В этом случае, если аргумент пропущен Вьюса не будет показывать действующую вьюсу, вместо этого будет запрашиваться и выводится список всех возможных аргументов, с ссылками к вьюсе с аргументом и число публикаций которые аргумент содержит. В вышеприведённом примере, если аргумент ID пользователя установлен на Summary View, и пользователь идёт в «блоги» 'blogs', вьюса будет обеспечивать список пользователей, которые имеют хотя бы одну запись в блоге.
Title
Заголовок определённый для аргумента будет использоваться в случае если 1) этот аргумент последний аргумент. Это свойство используется в том случае, если нужно обеспечить разные заголовки, на основе аргументов. В случае с блогом, реальный заголовок для вьюсы должен быть "Users with Blog Posts, потому что если UID отсутствует мы получим Суммарную Вьюсу. Заголовок для аргумента UID может быть просто "Blog Posts for %1", only showing the user, since if that title is used, the rest of the date is not specified. Please note that as of Jun 24, 2006 this is a change from previous behavior.
Option
Поле условие – спецификация для аргумента, часто оно не используется. Функция этого поля впомогательный текст к аргументу.
Wildcard
Символы URL которые могут быть использованы в месте аргумента, когда вам нужно вывести все результаты для этого аргумента, такие как "all" или "*".
Wildcard Sub
Текст, который может быть использован в заголовке аргумента для замены любого %1, %2, и т.д., если символы Wildcard этого аргумента были заданы для этого отдельного аргумента.
Список аргументов
Далее список аргументов, поддерживаемый Вьюсами по умолчанию. Их может быть намного больше! Модули могут создавать варианты аргументов и обеспечивать их выполнение. As handlers are provided, they should all provide some form of documentation in the Views help section.
Node Type
аргумент позволяет пользователям фильтровать вьюсу, по определённому типу ноды.
User ID Authored
аргумент User ID позволяет фильтровать ноды по авторству, используя user ID.
User ID Authored or Commented
аргумент User ID позволяет фильтровать ноды и комментарии к ним по авторству, используя user ID.
Taxonomy Term ID
Аргумент фильтрует по ID термина таксономии. Для этого аргумента установите условие для глубины поиска.
Taxonomy Term Name
Фильтр по термину таксономии. этого аргумента установите условие для количества знаков, используя 0 для снятия ограничений, используйте 1 для словарей в стиле A/B/C.
Node Title
Фильтр по заголовку ноды. Для этого аргумента установите условие для количества знаков, используя 0 для снятия ограничений, используйте 1 для словарей в стиле A/B/C.
Year
Этот аргумент позволяет фильтровать по году публикации в формате CCYY.
Month
Месяцы определены числами от 1-12. Так как этот аргумент не определяет год, рекомендуется его использовать следом за аргументом 'Year'.
Week
Этот аргумент позволяет фильтровать вьюсу по номеру недели от 1-52. Этот аргумент рекомендуется использовать за аргументом 'Year'.
Month + Year
Этот аргумент комбинирует Месяц и Год в один аргумент в формате CCYYMM.
Full Date
Это аргумент полной даты в формате CCYYMMDD.
Node ID
Это аргумент одной ноды Node ID.
Комментарии
Сенкс, как раз играюсь с аргументами - помогает для быстрого понимания.
Полезно. Еще было бы здорово выводить в колонке термин таксономии так, чтобы он был ссылкой на этот же View, но с добавленным аргументом, при котором выводятся только ноды, содержащие этот термин.
P.S.: кстати, как можно получить в View именно ID термина? Это нужно для того, чтобы сделать Output rewrite'ом ссылку на этот же View, но в аргументе указать этот ID.
А можно ли искать по части термина или по маске,
к примеру, есть словарь с терминами "Москва", "г.Москва", "г Москва" и т.п. как передавая аргументом название города region/% (где % - это город, к примеру Москва) выбирать материалы со всеми терминами, где встречается слово "Москва" ?
Посоветуйте как организовать фильтр для аргументов, т.е. чтобы пользователь сам мог выбрать доступные параметры аргументов.
Например в виде списка фильтра блогов по пользователю или по дате (месяц или год).
Для этого используйте раскрытые фильтры (exposed filters), а не аргументы.