Drupal: ссылки узлов маршрута на представление - PullRequest
0 голосов
/ 28 июня 2009

Начало работы с Drupal (в частности, CCK и Views), так что простите, если это основной вопрос.

У меня есть несколько довольно сложных видов, которые отображают некоторые типы пользовательского содержимого с вложением ниже, так что, по сути, я вижу несколько таблиц, объединенных в одно представление.

Допустим, эти страницы доступны через /person/64, где person - это имя представления, а 64 - идентификатор узла.

В различных частях этого представления я отображаю поля узлов, которые при щелчке по ним ведут вас прямо к его узлу.

Это то, чего я не хочу. Вместо я хочу, чтобы ссылка на узел переместила вас в соответствующее представление. Поэтому вместо / node / 128 я бы хотел переписать это как /event/128.

.

Я пытался создать пользовательскую ссылку в представлении, но правильный параметр мне не доступен. Лучшее, что я могу сделать, это написать ссылку как / event / EventTitle, но это не работает с тем способом, который наследует аргументы в моем приложении.

Какой чистый способ сделать это?

Ответы [ 3 ]

0 голосов
/ 29 июня 2009
You should use the template_preprocess_views_view(&$vars) hook
and modify the links within the hook.

Удачи, это может быть сложным.

0 голосов
/ 30 июня 2009

Возможно, вы также захотите проверить проект Views Attach, если вы заинтересованы во внедрении данных Views в узел. Из вашего описания я не уверен, что некоторые хитрости URL возникли из-за необходимости сделать это, в дополнение к отображению самого целевого узла.

0 голосов
/ 29 июня 2009

Попробуйте добавить идентификатор узла в качестве одного из полей и установите флажок «Исключить из отображения», чтобы он не отображался в выходных данных.

Затем в конфигурации для поля «Название узла» установите флажок «Перезаписать выходные данные этого поля». Если у вас установлен модуль Token, идентификатор узла будет отображаться как токен, который вы можете вставить в свою пользовательскую ссылку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...