Как сделать ссылку на узел напрямую на содержимое его файла в 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 с помощью пользовательского модуля, чтобы переопределить базу на основе узлов, связанных с термином. В обратном вызове верните путь вложения в узле.
- Учитывая тот факт, что каждый член имеет только один узел
- Учитывая тот факт, что каждый узел имеет только одно вложение