I have been working on my own theme and uploaded a .theme file with FTP while that theme was the default- BAD IDEA.

Now there is no theme selected and i cannot see any themes or menus on the administrators - themes - page. is there any manual override to reset the theme in drupal?

I cannot believe that I am the only person who has ever made this problem for myself?

Comments

rkendall’s picture

Just edit the sites/default/settings.php file.

At the bottom you will see a commented out example of how to override system variables.

In your case I think you could just add something like this:

 $conf = array(
   'theme_default' => 'bluemarine',
 );

P.S. I would recommend using phptemplate for developing custom themes (much simpler than writing .theme files)

--
Ross Kendall
UK based Web and IT consultant specialising in Free and Open Source Software technologies.
http://rosskendall.com

bendiss’s picture

Thanks Ross,

This looks like it SHOULD work, but so far hasn't made any difference (yes i do have bluemarine in my themes folder), will it take some time for the change to take effect?

(My drupal instalation does NOT have a cache set.)

Benjamin

dazsyl’s picture

This has helped a beginner like me a lot

Thank

Darren Winfield
Victoria Melbourne
Australia

soupp’s picture

If you are logged in as an admin you can go to (with clean urls enabled) http://yourdrupal.com/admin/themes - this will give you theme admin page directly. This trick helped me many times.

Another thing is to edit your database directly (via phpmyadmin or some other tool). There is a table "system" where all module and theme enabled/disabled settings are stored. You can find your theme and disable it (and then enable some other).

As last resort you can empty this table. All your modules/themes will be reset to default (read most of them will be disabled) but you can easily re enable them in admin.

Drupal Top Sites | Drupal Sites Directory

rkendall’s picture

I have used this a few times too. It's a handy way to fix such problems.

Also, you should probably delete the problem theme from the live site,

--
Ross Kendall
UK based Web and IT consultant specialising in Free and Open Source Software technologies.
http://rosskendall.com

bendiss’s picture

Thanks for your help.

> Just edit the sites/default/settings.php file.
didn't work.

> http://www.mysite.net/drupal/?q=admin/themes
showed only the "save config" and "reset" buttons no themes were listed no matter what was in the themes folder.

----------

For any other newbies who have similar problems I used the following to completely clear the contents of the system table as I don't have php myadmin only the mysql command line client:

at a unix prompt (in your SHH or telnet client) type:

mysql -u my_username -p my_database_name

at the mysql prompt type:

use my_database_name;

the above was already specified by -p but just to be sure ;-)

show tables;

you should see the 'system' table listed

describe system;

or

show columns from system;

you should see the various fields listed

you can see the contents of fields with:

select * from system;
(see all records for all fields)

select name from system;
(see all records entries within the filed called name)

you should be able to edit the contents of the offending record with something like:

update system set filename = 'themes/interlaced/interlaced.theme' where type = 'theme';

but this did not resolve my problem instead I needed to use:

delete from system;
(perhaps it should be... delete * from system; but the above worked)

now type the following to check that all records have been deleted from the table:

select * from system;

finally control c or typing "exit" quits the mysql command line client

now you will need to configure all your module/theme prefs so log into your drupal site as admin and go to:

http://www.mysite.net/drupal/?q=admin/modules
http://www.mysite.net/drupal/?q=admin/themes
(these urls assume you don't have "clean urls" setup in drupal)

Happy mysql-ing :-) Benjamin.

bendiss’s picture

Ever since the fix listed on this page...

Resloved - bendiss - October 9, 2006 - 16:27

...none of the phptemplate based themes in the themes folder are listed on the
/admin/themes
page. I would like to move over to a phptemplate based theme as suggested in Ross's original reply but it seems the fix has disabled the phptemplate engine module. How can this be switched back on in Drupal 4.7?

Benjamin

rkendall’s picture

Under the themes directory there should be a directory called 'engines', which inside of that should have a directory called 'phptemplate'.

Perhaps while you were removing unwanted themes you have accidently removed the engine as well. To fix, just copy the engine folder back from the core drupal tarball.

--
Ross Kendall
UK based Web and IT consultant specialising in Free and Open Source Software technologies.
http://rosskendall.com

bazmati’s picture

Looks like I did this -- deleted the 'engines' directory as I was deleting a bunch of unwanted themes. Result - no themes. Copied the folder back and it all works beautifully again. Thanks for the hint.

Barry

hakeem’s picture

The same happened to me: page.tpl.php was deleted ;-)