2015-10-29 5 views
10

J'ai un élément de menu appelé "Produits" qui, lorsqu'il est cliqué, affiche tous les nœuds créés par le type de contenu "produit". Chaque noeud "produit" possède un champ de pièce jointe avec un fichier joint.Comment créer un lien de noeud directement avec le contenu de son fichier dans DRUPAL 6?

Si je clique sur un nœud « produit », il me faut au nœud comme prévu et je peux voir tous les champs du noeud, y compris le champ PDF:

enter image description here

Je veux survolez le lien du menu "Produits", puis voir les différents produits sous forme de liste déroulante dans le menu et quand un produit est cliqué, je ne veux pas aller au noeud, mais plutôt ouvrir le PDF attaché au noeud So au lieu de montrer par exemple/product/african-decor ... il faut aller au produit/african_decor.pdf qui est attaché au noeud:

enter image description here

+0

La balise est Drupal 7, la rubrique dit Drupal 6 - alors quelle est votre version? A part ça, je ne comprends pas vraiment ce que tu veux faire. Vous souhaitez créer un lien vers un champ du noeud? Comme une ancre? – Steff

+0

Merci j'ai fait une erreur, corrigé. – Whitetiger

Répondre

1

Vous pouvez implémenter hook_taxonomy_menu_path avec un module personnalisé et remplacer la base en fonction des nœuds associés au terme. Dans le rappel, renvoyez le chemin de la pièce jointe dans le noeud.

  • Compte tenu du fait que chaque terme a un seul nœud
  • Compte tenu du fait que chaque noeud n'a qu'un seul attachement
4

Il y a deux façons d'y parvenir.


Vous pouvez utiliser le module Menu Token qui vous permet d'utiliser différents champs dans vos chemins de menu. Lors de la création du modèle de jeton, vous devrez peut-être créer une URL absolue à l'aide du jeton [site-url].

Vérifiez également que la case uses tokens est cochée.


De cette façon est légèrement moins élégant.

En supposant que vous ne souhaitiez pas visiter le type de contenu du produit et que vous téléchargiez toujours le PDF, vous pouvez remplacer le modèle du type de contenu product et rediriger vers l'URL PDF.

Vous auriez besoin de créer

node--product.tpl.php 

Et remplacer le contenu avec

header("Location: " . $pdf_field); 

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