Как сделать ссылку на узел напрямую на содержимое его файла в DRUPAL 6?

У меня есть пункт меню под названием "Продукты", который при нажатии отображает все узлы, созданные типом контента "продукт". Каждый узел "product" имеет поле для прикрепления файла с вложенным файлом.

Если я щелкну на узле "product", он приведет меня к узлу, как и ожидалось, и я смогу увидеть все поля на узле, включая поле PDF:

Я хочу навести курсор мыши на ссылку меню "Продукты", а затем увидеть различные продукты как раскрывающееся меню, и при нажатии на продукт я хочу, чтобы он НЕ переходил на узел, а скорее открывал PDF-файл, прикрепленный к узлу. Вместо этого например, / product / african-decor... он должен идти в файл product / african_decor.pdf, который прикреплен к узлу:

2 ответа

Это может быть достигнуто несколькими способами.


Вы можете использовать модуль Menu Token, который позволяет вам использовать различные поля в ваших путях меню. При построении шаблона токена вам может понадобиться создать абсолютный URL-адрес, используя [site-url] маркер.

Также убедитесь, что uses tokens флажок отмечен


Этот способ немного менее элегантен.

Предполагая, что вы на самом деле не хотите посещать тип содержимого продукта и всегда будете загружать PDF, вы можете перезаписать шаблон для product Тип содержимого и перенаправить на PDF-URL.

Вам нужно создать

node--product.tpl.php

И заменить содержимое на

header("Location: " . $pdf_field);

// $pdf_field might be $node->field_pdf[0]['value'];

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

  • Учитывая тот факт, что каждый член имеет только один узел
  • Учитывая тот факт, что каждый узел имеет только одно вложение
Другие вопросы по тегам