2015-10-29 11 views
10

Ich habe einen Menüpunkt namens "Produkte", der beim Klicken alle Knoten anzeigt, die vom Inhaltstyp "Produkt" erstellt wurden. Jeder "Produkt" -Knoten hat ein Dateianhangsfeld mit einer angehängten Datei.Wie kann ich einen Knoten direkt mit seinem Dateiinhalt in DRUPAL 6 verknüpfen?

Wenn ich auf einem „Produkt“ Knoten klicken, nimmt es mich an den Knoten wie erwartet und ich kann alle Felder auf dem Knoten, einschließlich der PDF-Feld sehen:

enter image description here

Ich möchte Bewegen Sie den Mauszeiger über den Link "Produkte" und sehen Sie die verschiedenen Produkte als Dropdown-Menü. Wenn ein Produkt angeklickt wird, möchte ich NICHT zum Knoten gehen, sondern die PDF-Datei zum Knoten So öffnen anstatt z/product/african-decor ... muss es zum Produkt/african_decor.pdf gehen, das an den Knoten angeschlossen ist:

enter image description here

+0

Der Tag Drupal 7 ist zu erstellen, sagt der Überschrift Drupal 6 - so, was Ihre Version ist? Abgesehen davon bekomme ich nicht wirklich, was du machen willst. Sie möchten auf ein Feld des Knotens verlinken? Wie ein Anker? – Steff

+0

Danke, dass ich einen Fehler gemacht habe, behoben. – Whitetiger

Antwort

1

Sie können hook_taxonomy_menu_path mit einem benutzerdefinierten Modul implementieren und die Basis basierend auf den mit dem Begriff verknüpften Knoten überschreiben. Geben Sie im Rückruf den Pfad des Anhangs im Knoten zurück.

  • Angesichts der Tatsache, dass jeder Begriff nur ein Knoten
  • In Anbetracht der Tatsache, dass jeder Knoten nur eine Anlage
4

Es gibt ein paar Möglichkeiten, hat dies erreicht werden kann.


können Sie das Menu Token Modul verwenden, die Sie verschiedene Felder in der Menüpfade verwenden. Beim Erstellen des Token-Musters müssen Sie möglicherweise eine absolute URL mithilfe des Tokens [site-url] erstellen.

Stellen Sie außerdem sicher, dass das Kontrollkästchen uses tokens aktiviert ist.


Dieser Weg ist etwas weniger elegant.

Angenommen, Sie möchten den Produkt-Inhaltstyp nicht besuchen und laden die PDF-Datei immer herunter. Sie können die Vorlage für den Inhaltstyp product überschreiben und zur PDF-URL umleiten.

Sie bräuchten

node--product.tpl.php 

und ersetzen Sie den Inhalt mit

header("Location: " . $pdf_field); 

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