Как связать ссылку node непосредственно с содержимым файла в DRUPAL 6?
У меня есть пункт меню "Продукты", который при нажатии показывает все узлы, созданные типом контента "продукт" . Каждый "продукт" node имеет поле прикрепления файла с прикрепленным файлом.
Если я нажму на "продукт" node, он приведет меня к node, как и ожидалось, и я могу увидеть все поля в node, включая поле PDF:
![введите описание изображения здесь]()
Я хочу навести курсор мыши на ссылку меню "Продукты", а затем увидеть различные продукты в виде выпадающего меню и при щелчке по продукту. Я хочу, чтобы он НЕ пошел в node, а скорее открыл прилагаемый PDF файл на node Итак, вместо показа eg/product/african-decor... он должен перейти к product/african_decor.pdf, который прикреплен к node:
![введите описание изображения здесь]()
Ответы
Ответ 1
Есть несколько способов, которыми это может быть достигнуто.
Вы можете использовать "Значок меню" , который позволяет вам использовать различные поля в ваших путях меню. При создании шаблона маркера вам может понадобиться создать абсолютный URL-адрес, используя токен [site-url]
.
Также убедитесь, что установлен флажок uses tokens
.
Этот способ немного менее изящный.
Предполагая, что вы не хотите на самом деле посещать тип содержимого продукта и всегда будете загружать PDF файл, вы можете перезаписать шаблон для типа контента product
и перенаправить на URL-адрес PDF.
Вам нужно создать
node--product.tpl.php
И замените содержимое
header("Location: " . $pdf_field);
// $pdf_field might be $node->field_pdf[0]['value'];
Ответ 2
Вы можете реализовать hook_taxonomy_menu_path с помощью настраиваемого модуля переопределить базу на основе узлов, связанных с этим термином. В обратном вызове верните путь к вложению в node.
- Учитывая, что каждый член имеет только один node
- Учитывая, что каждый node имеет только одно вложение