连接到drupal页面上的另一个数据库

时间:2011-02-19 14:16:53

标签: caching drupal drupal-6

现在我想在另一个论坛上展示一些文章标题。并将文章的标题放在page-front.tpl.php.maybe上,我可以直接将数据库连接和查询代码写入page-front.tpl.php。但这对效率来说太糟糕了。为了获得高效率。我应该怎么做。 drupal的版本是drupal 6

2 个答案:

答案 0 :(得分:4)

除非您要缓存结果,否则在放置代码的性能方面并不重要。但是,有一些最佳实践和设计原则可以使您的代码更容易维护,如果遵循的话。

执行此操作的最佳方法是将代码放在自定义模块中。您可以创建一个块(hook_block),您可以将其放在首页上。这也将允许Drupal的块缓存启动,这对于外部数据库连接是理想的。

答案 1 :(得分:2)

有关如何使用提供的API连接到其他数据库的信息,请参阅http://drupal.org/node/18429。请注意,在D6中,您只能连接到与默认数据库相同的数据库类型(mysql / pgsql)。

googletorp已经注意到,你应该执行查询或在主题函数/模板中进行任何处理。

例如,您可以在hook_preprocess_page()函数中执行此操作,然后将其显示在模板中。

或者甚至更好,如果这对您有用,那就是编写一个简单的模块来公开一个块,然后您可以将它放在主题中的任何位置。见hook_block()。有了它,Drupal可以为您处理缓存,您只需要定义它应该如何缓存(全局,每个角色,......)。这些都在上面的链接文档页面中描述。