Drupal 7: использовать текущий идентификатор узла для динамической генерации ссылки на странице?
Я создаю арт-галерею, используя Page Manager и Panels в Drupal 7.
Предметом искусства в галерее является тип узла, и каждый из них связан с периодом времени, который также является типом узла.
При просмотре страницы, отображающей период времени, мне нужна ссылка, которая приводит пользователя ко всем произведениям искусства, относящимся к этому периоду времени.
Итак, я сделал представление, которое использует идентификатор узла временного периода в качестве контекстного фильтра и получает все узлы иллюстраций, которые связаны с этим конкретным узлом временного периода.
Вопрос в том, когда на странице для периода времени, как мне получить идентификатор узла этого конкретного периода времени и динамически генерировать ссылку на страницу, где текущий идентификатор узла передается в качестве аргумента? (Так что правильные произведения искусства выбираются с видом).
1 ответ
Ты можешь использовать arg(1)
в части пользовательского кода, чтобы получить текущий идентификатор узла (но только если это узел, на котором вы находитесь). См. http://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/arg/7. Например, вы можете легко встроить свой вид в шаблон по вашему выбору или в функцию темы, например:
views_embed_view('name_of_your_view', 'display_name', arg(1));
где третий параметр является аргументом, идентификатором узла вашего текущего (временного периода) узла. См. http://api.drupal.org/api/views/views.module/function/views_embed_view/7.
Чтобы просто разместить ссылку на этот узел временного периода на эту страницу (созданную вашим представлением), вы, вероятно, использовали бы функцию предварительной обработки в сочетании с шаблоном (print, если установлено). Возможности там неисчислимы, поэтому вам может потребоваться предоставить дополнительную информацию, где разместить ссылку. Но в основном это может быть достигнуто с помощью `arg(1)'.