Drupal - Друпал:ссылки узлов маршрута на представление
-
20-08-2019 - |
Вопрос
Начало работы с Drupal (в частности, CCK и Views), так что простите меня, если это основной вопрос.
У меня есть несколько довольно сложных представлений, которые отображают некоторые пользовательские типы контента с вложением ниже, так что я, по сути, вижу несколько таблиц, соединенных вместе в одном представлении.
Допустим, эти страницы доступны через /person/64
, где person - это имя представления, а 64 - идентификатор узла.
В различных частях этого представления я показываю поля узла, которые при нажатии на которые приводят вас непосредственно к этому узлу.
Это то, чего я не хочу, чтобы произошло.Вместо этого Я хочу, чтобы ссылка на узел привела вас к соответствующему представлению. Поэтому вместо /node / 128 я бы хотел переписать это как /event/128.
Я попытался создать пользовательскую ссылку в представлении, но нужный параметр мне недоступен.Лучшее, что я могу сделать, это записать ссылку как /event /EventTitle, но это не работает с способом наследования аргументов в моем приложении.
Какой самый чистый способ сделать это?
Решение
Попробуйте добавить идентификатор узла в качестве одного из ваших полей и установите флажок "Исключить из отображения", чтобы он не отображался в выходных данных.
Затем в конфигурации для поля заголовка узла установите флажок "Переписать выходные данные этого поля".Если у вас установлен модуль Token, идентификатор узла будет отображаться как токен, который вы можете ввести в свою пользовательскую ссылку.
Другие советы
You should use the template_preprocess_views_view(&$vars) hook and modify the links within the hook.
Удачи, это может быть непросто.
Вы также могли бы рассмотреть возможность проверки проекта Views Attach, если вы заинтересованы во внедрении данных Views в узел.Судя по вашему описанию, я не уверен, что некоторые сложности с URL-адресом были вызваны необходимостью сделать это в дополнение к отображению самого целевого узла.