我正在学习php和创建主题。
不幸的是,当我正在编辑我目前在drupal中使用的主题时,我在主题中犯了一个错误,以至于不再显示任何内容,即使我要点击drupal / index.php。我想将破碎的drupal主题改为工作主题,但我无法这样做,因为我甚至无法查看管理部分。
答案 0 :(得分:15)
Drupal.org上的 How To reset your theme via the database 页面提供了直接从SQL提示符更改主题的说明。
目前还不清楚这是否适用于最新版本的Drupal,因此在尝试此操作之前备份您的数据库。
答案 1 :(得分:4)
更改前端主题的最简单方法是在您的sites / default / settings.php中设置它:
$conf['theme_default'] = 'minelli';
答案 2 :(得分:2)
在对当前问题进行排序方面,这里有一个简单的方法可以解决...让我们说你当前的主题叫做“custom_theme”。
sites/default/themes
”)mv custom_theme custom_theme.bak
”的操作,请将其移至其他位置)cp -a ../../../themes/garland ./custom_theme
”正如其他人之前所说,强烈建议您为管理员使用不同的主题,就像对普通用户一样(如果你破坏了东西)。选择一个安全的管理主题(如花环),然后如果你正在玩主题,你几乎总能进入管理界面。
答案 3 :(得分:2)
或者如果您使用Drupal 6,删除/移动损坏的主题文件夹将使Drupal将主题更改为默认主题(Garland)。
答案 4 :(得分:1)
也许并行使用两个主题会有所帮助。
为“用户前端”设置一个 - 您在/admin/build/themes
开发的用户前端,另一个标准,如花环,您不会更改,作为“管理后端”:{{1} }。
如果您碰巧打破了正在开发的主题,只需转到管理区域(/admin/settings/admin
),它就会切换回花环。
答案 5 :(得分: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
;)
答案 6 :(得分:1)
另请参阅以下堆栈溢出问题。 它与他们有关
现在这里是解决方案: 删除坏主题的文件并清除缓存。清除缓存后,您将能够再次登录。
主要困难是您必须在不登录的情况下清除缓存。
尝试使用其中一种清除缓存中描述的缓存的方法 Clearing Drupal's cache
如果不是那么试试这个:
如果你有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';
要小心,因为让这些行中的任何一行出错都会让事情变得非常糟糕。
干杯!
Mudassar Ali
答案 7 :(得分:0)
据我所知,主题设置存储在数据库中,也存储在每个用户中。摆脱主题的最快方法可能是将其从主题路径中删除。
只需将其移到您的桌面上,Drupal应该能够检测到您所请求的主题缺失并指向默认值。
更新:在我的Drupal 5安装上试过这个,结果是'干净'。我建议将一个有效的Drupal主题复制到你的主题目录中(先复制一份)。
答案 8 :(得分:0)
值得一提的是,如果您使用“Sections”模块将不同的主题应用于网站的不同部分,则Drupal网站上提供的说明不一定有效 - 您可能会发现移动问题主题目录是唯一正确查看管理界面的方法。