4

我正在学习 php 和创建主题。

不幸的是,当我在编辑一个我目前在 drupal 中使用的主题时,我在主题中犯了一个错误,所以即使我要点击 drupal/index.php,也没有任何显示。我想将我损坏的drupal 主题更改为一个工作主题,但我无法这样做,因为我什至无法查看管理部分。

4

9 回答 9

15

如何通过 Drupal.org 上的数据库页面重置主题有直接从 SQL 提示符更改主题的说明。

目前尚不清楚这是否适用于最新版本的 Drupal,因此请在尝试此操作之前备份您的数据库

于 2009-05-20T15:20:50.507 回答
4

更改前端主题的最简单方法是将其设置在您的 sites/default/settings.php 中:

$conf['theme_default'] = 'minelli';
于 2009-08-18T22:09:50.537 回答
2

在对您当前的问题进行排序方面,这里有一个简单的方法应该可以工作......假设您当前的主题称为“custom_theme”。

  • 转到您的主题目录(sites/default/themes可能是“”)
  • 备份您的开发主题(即,将其移至其他位置,如果您使用 Linux 命令行,请执行“ mv custom_theme custom_theme.bak”之类的操作)
  • 将花环主题复制到此处并将其命名为与您损坏的主题相同的名称(如果使用 LInux 命令行,这样的东西应该可以工作“ cp -a ../../../themes/garland ./custom_theme
  • 立即尝试查看您的网站。它现在应该使用花环而不是你破碎的主题。

正如其他人之前所说,强烈建议您为管理员使用与普通用户不同的主题(以防万一)。选择一个安全的管理主题(如花环),然后如果你正在玩主题,你几乎总是可以进入管理界面。

于 2009-05-20T16:02:03.387 回答
2

或者,如果您使用 Drupal 6,删除/移动损坏的主题文件夹将使 Drupal 将主题更改为默认主题(Garland)。

于 2009-12-24T11:27:43.183 回答
1

也许并行使用两个主题会有所帮助。

为“用户前端”设置一个 - 您正在开发的那个/admin/build/themes,另一个标准,如花环,您不会更改,作为“管理后端”:/admin/settings/admin

如果您碰巧破坏了您正在开发的主题,您只需转到管理区域(/admin),它将切换回花环。

于 2009-05-20T08:33:50.017 回答
1

您还可以通过包含以下代码在主题中插入新的登录表单:

 `<?php 
    if(!user_is_logged_in() ){
        print drupal_render(drupal_get_form('user_login'));
    }else{
        print "You are already logged in!";
   }?>` 

page.tpl.php在您损坏的主题文件中的任何位置,然后在您的网站上注册admin credentials;)

于 2012-11-12T12:12:16.353 回答
1

另请参阅以下堆栈溢出问题。它与他们有关

现在是解决方案:删除坏主题的文件并清除缓存。清除缓存后,您将能够再次登录。

主要困难是您必须在未登录的情况下清除缓存。

尝试 清除 Drupal 的缓存中描述的清除缓存的方法之一

如果不是,那么试试这个:

如果你有 drush,输入的命令是

drush vset theme_default garland

在命令行或通过管理界面(例如 PHPMyAdmin)输入以下查询

UPDATE system SET status=1 WHERE name = 'garland';

然后:

UPDATE variable SET value='s:7:"garland"' WHERE name = 'theme_default';
TRUNCATE cache;
TRUNCATE cache_bootstrap;
TRUNCATE cache_block;

请注意,'s:7' 指的是以下字符串的长度。根据需要进行修改。这是数据库手术,很棘手。或者,如果您使用的是每用户主题,而您只是以管理员身份将其搞砸了,请尝试

UPDATE users SET theme='garland' WHERE uid = '1';

小心,因为这些行中的任何一条错误都会把事情搞得一团糟。

干杯!

穆达萨阿里

于 2014-01-15T14:11:19.910 回答
0

据我所知,主题设置以及每个用户都存储在数据库中。摆脱主题的最快方法可能是将其从主题路径中删除。

只需将其移动到您的桌面上,Drupal 就应该能够检测到您请求的主题丢失并指向您的默认主题。

更新:在我的 Drupal 5 安装上试过这个,结果是“干净的”。我建议将工作中的 Drupal 主题复制到您的主题目录中(先复制一份)。

于 2009-05-20T06:09:51.067 回答
0

值得一提的是,如果您使用“ Sections ”模块将不同的主题应用到站点的不同部分,Drupal 站点上给出的说明不一定有效——您可能会发现将问题主题目录移出way 是正确查看管理界面的唯一方法。

于 2010-08-11T10:02:23.627 回答