i want to allow users of role 'admin' to change the theme and the change is to be reflected for all other types of users.. how to go about it... where exactly in the database is the default theme stored

Comments

add1sun’s picture

All you have to do is give the role the "select different theme" perm on the Access control page.

The default theme is stored in the variable table in the database but you shouldn't be doing anything directly in the db for this.

Drupalize.Me, The best Drupal training, available all the time, anywhere!

hprashi’s picture

giving permission for 'select different theme' does not solve the problem..

The problem is.. I want to create a user (not uid=1) who should be able to change the theme and this theme should be applied to the entire site.. as in even after he logs out the theme should persist.. its basically changeing the default theme of the site

add1sun’s picture

Ah, AFAIK that is only done with "administer site configuration" perms. I don't think you can isolate just the theme settings for the site as a perm.

Drupalize.Me, The best Drupal training, available all the time, anywhere!

hprashi’s picture

exactly.. there is no option to do this...
So we will have to directly change the database data, I wanted to know where exactly the default theme of the site is stored

there is a variable called 'theme_default' = 's:3:"bluemarine";' where bluemarine is the default theme of the folder...

I am not able to get what exacty "s:3" mean

add1sun’s picture

Hm, I don't get why you need to do this in the DB. If your users have rights to edit the DB, what is the harm in giving them the administer site configuration perm and having them edit it in the site admin like normal? I think I am missing something in your needs. Can you explain your exact use case?

The database value for default_theme is PHP serialized data so manually editing it isn't a great idea if you don't know what you are doing.

Drupalize.Me, The best Drupal training, available all the time, anywhere!

brt’s picture

Hi, I have a very similar problem:
Allowing members of a role "Admin" to manage (not select only) "Themes" and "Site information" but not Modules etc.
Any suggestions would be appreciated.