【问题标题】:Drupal, where I can find info about current active theme?Drupal,我在哪里可以找到有关当前活动主题的信息?
【发布时间】:2011-03-13 07:50:56
【问题描述】:

请指教:drupal 在哪里存储有关当前活动主题的信息?哪个表?

我升级了 Drupal,当我进入管理区域时出现白屏死机。恕我直言,自定义主题导致了这个问题,有人可以帮助我吗?

问候

【问题讨论】:

    标签: drupal-6 wsod


    【解决方案1】:

    如果您认为问题是由自定义主题引起的,您可以将其从主题或 sites/all/themes 目录中移出。

    【讨论】:

    • 非常感谢您的回答。我找到了问题的根源,当我检查 index.php 时,theme() 返回空字符串。 elseif (isset($return)) { $theme = theme('page', $return); var_dump($主题);回声'dadasdsad'; } $theme 是空字符串,不是我的主页:/ 有人能给我建议吗?
    • $theme 为空可能有多种原因,包括主题问题。可能是page.tpl.php 不好。尝试打印$return 并确保它包含正确的数据。
    【解决方案2】:

    当前全局设置一个 Drupal 站点的主题保存在变量 theme_default 中。如果随后允许用户更改主题,他们选择的主题将保存在用户表中;在这种情况下,如果您为帐户选择的主题与默认主题不同,则需要直接在数据库中更改您帐户的用户数据。

    看你在其他答案中给出的回复,不知道问题是否真的是主题。为确保它是主题,您应该尝试设置另一个主题。

    如果您设置的管理主题不是站点使用的默认主题,而问题是管理主题,您可以在数据库中禁用它;这样,该主题不再用作管理主题,而是使用默认主题。包含为站点启用的主题的数据库表是 system。

    【讨论】:

    • 谢谢,但在我的用户表中,我的主题字段为空。你能告诉我theme_default在哪里吗?
    • Drupal 变量保存在表variables 中。如果您可以执行 PHP 代码(例如,使用 devel.module,它实现了一个包含指向允许插入任意 PHP 执行的页面的链接的块),您可以获得调用 variable_get('theme_default') 的该变量的值。作为执行 PHP 代码的替代方法,您可以启用 PHP 过滤器,创建一个节点,您可以在其中使用该输入格式来执行 PHP 代码。
    • 谢谢,现在我确定问题出在自定义主题中。主题在主题文件夹中,variable_get 显示该主题已设置,那么还有什么可能导致该主题()返回''
    • 当我将表字段的值更改为 ex 'garland' wsod 时,仍然无处不在
    • @Marek:要使用不使用自定义主题,您应该从 Drupal 安装中删除其文件。这将迫使 Drupal 使用 Garland 作为主题。如果即使在那种情况下你仍然得到一个 WSOD,那么原因不是主题(如果你没有改变 Garland 主题,当然)。检查 error_log 文件,或 Apache 用来报告任何错误的日志。如果您看不到任何让您了解问题所在的错误,请尝试禁用您启用的第三方模块;包含已启用模块列表的表是system
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-13
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2016-02-21
    • 2012-08-14
    相关资源
    最近更新 更多