Skip to main contentSkip to footer

OpenCart 3 error Warning: You do not have permission to modify the default store theme!

Rupak Nepali
Share:
OpenCart 3 error Warning: You do not have permission to modify the default store theme!

While playing around with OpenCart 3.0.0.0 we were trying to create a new OpenCart 3.0 theme and for that, we copy the default theme and named “Webocreation” and was doing the following setting but got an error: “Warning: You do not have permission to modify the default store theme!”

So make the following changes to solve the problem:

The above error says we don’t have permission to modify so we tried to give permission as follows:

  • Admin >> System >> Users >> User Groups >> Edit the Administrator >> clicked “Select All” for both access permission and modify permission, then clicked save.

With the above permission, we should be able to get access but still got the same errors so we checked the code and found some glitch.

We checked admin\controller\extension\theme\default.php in OpenCart 3.0 and found following permission check at validate() method.

if (!$this->user->hasPermission('modify', 'extension/theme/theme_default')) {
    $this->error['warning'] = $this->language->get('error_permission');
}

But when we check at the User group permission it is extension/theme/default

extension theme default

So above code need to change to the following:

if (!$this->user->hasPermission('modify', 'extension/theme/default')) {
    $this->error['warning'] = $this->language->get('error_permission');
}

With this change, we are able to save, but still, we are not able to retrieve the save theme setting so we checked the code again and found the following:

if (isset($this->request->get['store_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
    $setting_info = $this->model_setting_setting->getSetting('default', $this->request->get['store_id']);
}

So we changed it to following

if (isset($this->request->get['store_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
    $setting_info = $this->model_setting_setting->getSetting('theme_default', $this->request->get['store_id']);
}

Then, it all starts to work. If you are also getting such an error, we hope it will help you to solve the problem. Enjoy and let us know if you are getting any kind of errors.

Comments

Join the conversation and share your thoughts

Leave a Comment

Your comment will be reviewed before publishing.

Be the first to comment on this post!

Innovation

Let's Make Something Amazing Together

We always provide our best creative ideas at the highest level. Tell us about your project and we will make it work.

InnovateBringing innovative solutions to complex problems
AutomateStreamlining processes through automation
DominateLeading the market with exceptional results
Build Smarter and Launch FasterEfficient development for rapid deployment