2015-10-29 16 views
10

Ho una voce di menu denominata "Prodotti" che, quando si fa clic, visualizza tutti i nodi creati dal tipo di contenuto "prodotto". Ogni nodo "prodotto" ha un campo allegato con un file allegato.Come faccio a collegare un nodo direttamente al suo contenuto di file in DRUPAL 6?

Se clicco su un nodo di "prodotto", mi prende per il nodo come previsto e posso vedere tutti i campi sul nodo, tra cui il campo PDF:

enter image description here

voglio passa il mouse sopra il link del menu "Prodotti", quindi visualizza i diversi prodotti come un menu a discesa nel menu e quando viene fatto clic su un prodotto, NON lo chiedo al nodo, ma apri il PDF collegato al nodo./product/african-decor ... deve andare al prodotto/african_decor.pdf che è collegato al nodo:

enter image description here

+0

Il tag è Drupal 7, il titolo dice Drupal 6 - quindi qual è la vostra versione? Accanto a ciò, non ho davvero quello che vuoi fare. Vuoi collegare a un campo del nodo? Come un'ancora? – Steff

+0

Grazie, ho fatto un errore, l'ho risolto. – Whitetiger

risposta

1

È possibile eseguire il hook_taxonomy_menu_path con un modulo personalizzato per sovrascrivere la base in base ai nodi associati al termine. Nel callback, restituisce il percorso dell'allegato nel nodo.

  • Dato che ogni termine ha un solo nodo
  • Dato che ogni nodo ha un solo allegato
4

Ci sono un paio di modi ciò sia possibile.


È possibile utilizzare il modulo Menu Token, che permette di utilizzare diversi campi nei vostri percorsi di menu. Quando si crea il modello di token potrebbe essere necessario creare un URL assoluto utilizzando il token [site-url].

Verificare inoltre che la casella di controllo uses tokens sia selezionata.


Questo modo è leggermente meno elegante.

Supponendo che non si desideri effettivamente visualizzare il tipo di contenuto del prodotto e si scarichi sempre il PDF, è possibile sovrascrivere il modello per il tipo di contenuto product e reindirizzare all'URL PDF.

Avresti bisogno di creare

node--product.tpl.php 

e sostituire il contenuto con

header("Location: " . $pdf_field); 

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