Как получить id из контекстного фильтра

Аватар пользователя batulin batulin 4 января в 15:00

Здравствуйте! Скажите пожалуйста, как я могу получить id текущей ноды из контекстного фильтра во views? Мне необходимо получить id текущей ноды и ноды, выводимой через views, чтобы передать их в ссылку (пользовательский текст) для заполнения полей формы. Спасибо.

Лучший ответ

Аватар пользователя marassa marassa 5 января в 16:56
1

То есть twig. У Вас в форме для поля Custom text, прямо под полем, есть список REPLACEMENT PATTERNS. Там должно быть что-то типа {{ raw_arguments.field_reader_target_id }} . Это он и есть.

Комментарии

Аватар пользователя VasyOK VasyOK 4 января в 15:20

"получить id текущей ноды"
Вам подсказать, как сделать вьюху, которая выводит ID ноды на ее странице?

"ноды, выводимой через views"
там есть поле ID

Аватар пользователя batulin batulin 4 января в 15:24

Здравствуйте VasyOK! Нет, под текущей нодой я подразумеваю ноду, на странице которой расположено представление. Представление - блок.

Аватар пользователя VasyOK VasyOK 4 января в 16:12

Нода, на странице которой расположено представление
это не
страница ноды
?

Аватар пользователя batulin batulin 4 января в 17:08

Вы, наверное, не обратили внимание, что есть пометка, что представление сделано как блок. Он располагается на страницах нод определенного типа материала. Поэтому один id нужно извлечь из материала из views (это делать умею), а второй со странице ноды, на которой это представление выводится. С Новым годом и Рождеством!

Аватар пользователя VasyOK VasyOK 4 января в 17:40

"представление сделано как блок" - пускай.
Даже для такого представления можно добавить контекстный фильтр ID материала и вывести во вьюху поле с ID.

Аватар пользователя batulin batulin 4 января в 18:23

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

Аватар пользователя VasyOK VasyOK 5 января в 0:11

контекстный фильтр:
Content: ID

В его настройках
Передать значение по умолчанию
ID материала из URL

Тогда у нас есть блок-вьюха. Если мы помещаем этот блок на страницу любой ноды, поле Содержимое: ID показывает ИДшник

Аватар пользователя batulin batulin 5 января в 16:19

Блок вывелся и книги вывелись, но id читателей не выводятся потому что у них нет читателей (книги отфильтрованы по отсутствию читателей и выдач). Но и id текущего читателя не выводится ни где.

Аватар пользователя marassa marassa 5 января в 16:37

batulin wrote:Как получить id из контекстного фильтра

"Получить" куда?

batulin wrote: чтобы передать их в ссылку (пользовательский текст) для заполнения полей формы

Передать каким образом? PHP (hook)? Twig? JS?

Аватар пользователя batulin batulin 5 января в 16:42

Здравствуйте! В этом представлении есть поле пользовательский текст со ссылкой на форму создания ноды выдачи. Мне нужно вывести его в ссылке доя автозаполнения через prepopulate.

Аватар пользователя marassa marassa 5 января в 16:56
1

То есть twig. У Вас в форме для поля Custom text, прямо под полем, есть список REPLACEMENT PATTERNS. Там должно быть что-то типа {{ raw_arguments.field_reader_target_id }} . Это он и есть.