Drupal6-为每个动态信息块创建一个模块?

Drupal6-为每个动态信息块创建一个模块?,drupal,drupal-6,drupal-modules,Drupal,Drupal 6,Drupal Modules,我有一个Drupal6网站,大约有20页。在每个页面中,我需要创建许多小部件,其中包含存储在数据库中或来自外部web服务的信息。大多数情况下,仅从一个视图来解决需求是不够的 到目前为止,每当我需要这样一个小部件时,我都会创建一个实现hook_块的新模块。然后,我将这个新模块拖放到我想要的面板中。我需要创建大约20个模块。这个效果很好。然而,我不确定这是否是正确的drupal策略,我希望从经验丰富的drupal开发人员那里得到一些反馈 理论上,一个模块可以公开任意数量的块,而admin/build

我有一个Drupal6网站,大约有20页。在每个页面中,我需要创建许多小部件,其中包含存储在数据库中或来自外部web服务的信息。大多数情况下,仅从一个视图来解决需求是不够的


到目前为止,每当我需要这样一个小部件时,我都会创建一个实现hook_块的新模块。然后,我将这个新模块拖放到我想要的面板中。我需要创建大约20个模块。这个效果很好。然而,我不确定这是否是正确的drupal策略,我希望从经验丰富的drupal开发人员那里得到一些反馈

理论上,一个模块可以公开任意数量的块,而admin/build/blocks则会教你其他方法

看一下的文档,您只需要扩展您的文档以返回多个块信息,然后根据$delta决定显示哪一个块信息

因此,您不需要20个单独的模块,可能需要2-3个模块,并以某种方式将模块分组在一起,因为单个模块可能很难维护。问题是,每一个模块都会使您的站点稍微慢一点,至少还要加载一个文件,模块实现需要为每个钩子循环每个模块,等等


没有更多的信息,很难给出更好的建议。也许你可以将你的数据公开给视图,或者写一个视图插件以你想要的方式显示它,或者

理论上,一个模块可以公开任意数量的块,而admin/build/blocks则会教你其他方法

看一下的文档,您只需要扩展您的文档以返回多个块信息,然后根据$delta决定显示哪一个块信息

因此,您不需要20个单独的模块,可能需要2-3个模块,并以某种方式将模块分组在一起,因为单个模块可能很难维护。问题是,每一个模块都会使您的站点稍微慢一点,至少还要加载一个文件,模块实现需要为每个钩子循环每个模块,等等


没有更多的信息,很难给出更好的建议。也许你可以将你的数据公开给视图,或者写一个视图插件以你想要的方式显示它,或者

尽管Berdir的回答很好,但我印象深刻的是其中没有任何文档链接。用于几个块,它们可以共享构建其内容的函数。API页面很好,它给出的示例一次定义了两个块


您应该注意到,每个已定义的块在$blocks数组中都有一个增量a键。例如,您可以使用动态增量并在其中使用值来获取通过nid或uid的数据并获取相关内容。

尽管Berdir的回答很好,但我印象深刻的是其中没有任何文档链接。用于几个块,它们可以共享构建其内容的函数。API页面很好,它给出的示例一次定义了两个块


您应该注意到,每个已定义的块在$blocks数组中都有一个增量a键。例如,您可以使用动态增量并使用其中的值来获取通过nid或uid的数据并获取相关内容。

谢谢!现在我有一个名为myapp的模块,里面有一个名为myapp_block的函数。如何在同一模块内创建和调用其他块?他们生活在不同的功能中,还是我需要一些switch语句?如何将参数传递给我的模块?+1表示这两种建议,尤其是暴露在视图中,因为它似乎已经足够好了,但还不够好。自定义视图代码可能非常强大。我有一个轴化的“添加到购物车”按钮作为视图字段。非常值得初始投资学习。请参阅hook_block:和barraponto的回答的文档谢谢!现在我有一个名为myapp的模块,里面有一个名为myapp_block的函数。如何在同一模块内创建和调用其他块?他们生活在不同的功能中,还是我需要一些switch语句?如何将参数传递给我的模块?+1表示这两种建议,尤其是暴露在视图中,因为它似乎已经足够好了,但还不够好。自定义视图代码可能非常强大。我有一个轴化的“添加到购物车”按钮作为视图字段。值得一试。请参阅hook_block:和barraponto的答案的文档。是的,忘了添加,更新了我的答案,并对你的答案进行了更新。是的,忘了添加,更新了我的答案,并对你的答案进行了更新。