【问题标题】:Drupal database connectionDrupal 数据库连接
【发布时间】:2015-03-06 18:14:54
【问题描述】:

是否需要连接到 Drupal 数据库才能从数据库中获取内容?

如果我已经安装了 Drupal,是否还需要在任何模板文件中建立连接才能获取数据?

【问题讨论】:

    标签: database drupal-7


    【解决方案1】:

    如果您使用 Drupal,您确实应该尽可能从数据库中抽象出来,并使用 Drupal 的框架来获取您需要的数据。

    如果您使用的是模板,则模板本身已经提供了大量数据 - 通常在模板顶部的 cmets 上有很好的说明可用数据。如果您需要其他不可用的数据,推荐的做法是使用适当的挂钩(form_alter、view_alter、node_view_alter 等)使该数据可用于模板。

    模板不应该担心获取数据,他们应该只关注如何显示可用的数据 - 类似于 MVC 的原理,其中视图(Drupal 中的模板)担心表示,而不是业务逻辑或数据抽象。

    希望这会有所帮助!

    【讨论】:

    • 感谢您的回复,实际上我必须从数据库中获取分类树及其所有子项和父项
    • 你可能想看看类似 taxonomy_get_tree 函数。 Drupal 提供了几种不同的函数来与可能有用的分类进行交互。
    • $vocabulary = taxonomy_vocabulary_machine_name_load("product sub categories"); $terms = taxonomy_get_tree($vocabulary);,这里“产品子类别”是我的词汇表,我想打印整棵树,但没有得到任何结果
    • 不要认为那是词汇表的正确机器名称(不能有空格)。通过 Drupal 前端编辑词汇表,你会看到真实的机器名称。这应该可以解决它。
    • 哦,对不起,这是“product_sub_categories”,但现在它在给定行if (!isset($children[$vid])) { $children[$vid] = array(); $parents[$vid] = array(); $terms[$vid] = array();中显示指向taxonomy.module文件的错误,您对此有任何想法吗??
    猜你喜欢
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多