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
在节点中包含drupal模块_Drupal_Module_Include_Embed - Fatal编程技术网

在节点中包含drupal模块

在节点中包含drupal模块,drupal,module,include,embed,Drupal,Module,Include,Embed,我对Drupal相当陌生。。。到目前为止,我已经学会了一些方法,并敲定了一个自定义模块。我试图找出是否有办法在PHP输入格式的节点中包含或嵌入另一个模块。在我的例子中,我有一个节点,其中有两个动态生成的表,我希望在同一个视图中包含类似WebFM的文件管理功能。在drupal中有没有办法做到这一点,或者我完全走错了路?如果是后者,我是否正在考虑创建另一个自定义模块来实现我所寻找的目标?我真的需要一些东西,让用户能够上传和查看文件,只有该用户在同一页上查看一些其他用户特定的信息。WebFM可能比我需

我对Drupal相当陌生。。。到目前为止,我已经学会了一些方法,并敲定了一个自定义模块。我试图找出是否有办法在PHP输入格式的节点中包含或嵌入另一个模块。在我的例子中,我有一个节点,其中有两个动态生成的表,我希望在同一个视图中包含类似WebFM的文件管理功能。在drupal中有没有办法做到这一点,或者我完全走错了路?如果是后者,我是否正在考虑创建另一个自定义模块来实现我所寻找的目标?我真的需要一些东西,让用户能够上传和查看文件,只有该用户在同一页上查看一些其他用户特定的信息。WebFM可能比我需要的更多,我想稍微修改一下它的外观,但我想我可以让它适合我的情况。感谢您的指导。

这可能正是您想要的。

很好,您正在制作自己的自定义模块,因此您的工作进展顺利

如果我是你,我会亲自将你想要添加到页面中的内容制作成一个块,你可以将其放置在节点的下方或上方。块api非常强大和灵活

但是,如果您真的想将内容放入节点本身,这是可以做到的,但要复杂得多。有一个节点预处理钩子MYMODULE_preprocess_nodee,您可以更改提供给节点的内容,但到目前为止,大部分节点内容已经分组在一起,因此只需在节点内容的开头或结尾添加任何内容即可。但是您可以在这里添加其他全新的变量,以便在node.tpl.php中使用

另一种方法是使用hook_菜单基于节点创建自己的页面。在这里,您可以使用node_load$id收集启动节点的参数,node load函数实际上构建了node对象,您可以根据自己的需要很容易地操纵分解的节点。然后,您可以使用此工具构建自己的页面。但是如果您有自己的内容类型,您可以为该内容类型创建一个模板,并使用preprocess_node操作数据,但实际上将从node_load获得的节点对象的修改输出传递到您自己的基于数据类型的模板中

我知道有很多方法可以解决这个问题,每个方法都有自己的挑战。但Drupal在允许您轻松访问此类核心数据方面相当灵活


希望效果良好……

安德鲁提到的简单答案是使用预制模块。不过,我是从自己动手的角度说的。谢谢Richard。如果文件上传部分跟踪其他内容,那么使用块API可能就行了。其他的方法确实可以扩展我所知道的,但这是一件好事。我要把这些选项再读一遍,然后试着把我的脑袋绕在它们周围。我有点喜欢最后一个选项建议的灵活性。。。我只需要弄明白它的意思:。再次感谢。是的,我看了一下文件字段CCK模块。我想要的东西更像是一个表显示和文件字段看起来只是堆叠文件。也许还有一种方法可以修改这个,但我对drupal世界还不熟悉,而且仍然很有方向感。