现在我想展示一些来自另一个论坛的文章标题。并将文章的标题放在页面- write t.tpl.php上。也许我可以直接将数据库连接和查询代码写到页面-write t.tpl.php中。但这对效率来说太糟糕了。以获得高效率。我该怎么办呢?drupal的版本是Drupal6
发布于 2011-02-20 19:11:37
有关如何使用提供的接口连接到另一个数据库,请参阅http://drupal.org/node/18429。请注意,在D6中,您只能连接到与默认数据库相同的数据库类型(mysql/pgsql)。
正如googletorp已经提到的,你不应该在主题函数/模板中执行查询或进行任何处理。
例如,您可以在hook_preprocess_page()函数中执行此操作,然后将其显示在模板中。
或者更好的是,如果这对你有效的话,那就是编写一个简单的模块,它公开一个块,然后你可以把它放在你想放在主题中的任何地方。参见hook_block()。这样,Drupal就可以为您处理缓存了,您只需要定义缓存的方式(全局的、每个角色的、..)。上面的链接文档页面对此进行了描述。
发布于 2011-02-19 22:37:57
除非你打算缓存结果,否则你把代码放在哪里对性能没有多大影响。但是,有一些最佳实践和设计原则,如果遵循这些原则,将使代码更易于维护。
要做到这一点,最好的方法是将代码放在自定义模块中。你可以做一个区块(hook_block),放在首页上。这还将允许Drupal的块缓存发挥作用,这对于外部数据库连接是可取的。
https://stackoverflow.com/questions/5051238
复制相似问题