Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Drupal6中使节点直接链接到其文件内容?_Php_Drupal_Drupal 6_Drupal Nodes - Fatal编程技术网

Php 如何在Drupal6中使节点直接链接到其文件内容?

Php 如何在Drupal6中使节点直接链接到其文件内容?,php,drupal,drupal-6,drupal-nodes,Php,Drupal,Drupal 6,Drupal Nodes,我有一个名为“Products”的菜单项,单击该菜单项时,将显示由“product”内容类型创建的所有节点。每个“产品”节点都有一个带有文件附件的文件附件字段 如果单击“产品”节点,它会按预期将我带到该节点,我可以看到该节点上的所有字段,包括PDF字段: 我想将鼠标悬停在“产品”菜单链接上,然后在菜单中将不同的产品视为下拉菜单,当单击某个产品时,我希望它不要转到该节点,而是打开附加到该节点的PDF,以便不显示例如/product/african decor。。。必须转到product/afri

我有一个名为“Products”的菜单项,单击该菜单项时,将显示由“product”内容类型创建的所有节点。每个“产品”节点都有一个带有文件附件的文件附件字段

如果单击“产品”节点,它会按预期将我带到该节点,我可以看到该节点上的所有字段,包括PDF字段:

我想将鼠标悬停在“产品”菜单链接上,然后在菜单中将不同的产品视为下拉菜单,当单击某个产品时,我希望它不要转到该节点,而是打开附加到该节点的PDF,以便不显示例如/product/african decor。。。必须转到product/african_decor.pdf,该文件附在节点上:

您可以使用自定义模块实现,并基于与术语关联的节点覆盖基础。在回调中,返回节点中附件的路径

  • 假设每个术语只有一个节点
  • 考虑到每个节点只有一个附件这一事实

    • 有几种方法可以实现这一点


      您可以使用模块,该模块允许您使用菜单路径中的各种字段。构建令牌模式时,可能需要使用
      [site URL]
      令牌创建绝对URL

      还要确保勾选了
      使用令牌
      复选框


      这种方式稍微不那么优雅

      假设您不想实际访问产品内容类型,并且总是下载PDF,那么您可以覆盖
      产品
      内容类型的模板并重定向到PDF URL

      您需要创建

      node--product.tpl.php
      
      并将内容替换为

      header("Location: " . $pdf_field);
      
      // $pdf_field might be $node->field_pdf[0]['value'];
      

      标签是Drupal7,标题是Drupal6——那么你的版本是什么呢?除此之外,我真的不明白你想做什么。是否要链接到节点的字段?像锚一样?谢谢我弄错了,修好了。