Creating an exhibit theme that matches the site theme

I'm trying to create an exhibit theme that matches the overall site theme. To try saying that another way, I want to make an exhibit that looks like it's embedded in the main site, not another site in itself.

I'm able to do this by editing the files in plugins/ExhibitBuilder/views/public/exhibits/, and that works just fine. But I'm concerned that when the plugin gets upgraded, my modified files will be overwritten, especially since I'm likely to not be the one doing the upgrading. It just seems like better practice to have the custom files in a directory in plugins/ExhibitBuilder/views/shared/exhibit_themes/.

The trouble is that I can't figure out how to keep the files there yet still have the exhibit be embedded in the main site. Is there an easy way to replicate the header.php and footer.php files for the main site without actually copying them?

Hi Lincoln,

You can acutally put those files in your theme directory instead of views/public. So, just move your exhibits directory into themes/yourtheme and it should work fine. This doesn't require you to replicate header.php and footer.php.

Thanks, Jeremy. Worked like a charm.


I have a couple questions about this as well.

1. exactly which files can be moved to the theme directory? just the theme files (incl. both CSS and PHP files) or everything in the 'view' directory?

2. will my theme's stylesheet override the plug-in stylesheets? In other words, can i just add the exhibit classes to my theme?

I'm using your Berlin theme, which already has some exhibit styling, but I want to make some changes. I think lmullen was talking about original styles, I'm just trying to tweak what's already there.

Thanks for your help. -- Erin

1. The way Omeka works, it just checks all of these directories for any specific theme file. So if you move any directory or file from views/public into your public theme, as long as it has the same relative path from the root of the theme, it should load it from the new location instead.

2. Your theme's default stylesheet won't override the plugin's. The default load order for stylesheets is themes, then plugins. If you really wanted to override the plugin stylesheet, you'd have to add another stylesheet and load it beneath the call to plugin_header() in your header.php file.

Hope that helps!

I think my question is related: I'm trying to use the exhibit theme "current public theme." It's not displaying correctly; the /exhibits/show/photos page is displaying the exhibit description from the /exhibits page, rather than the description I entered under exhibit sections. Since the proper descriptions are appearing when I use any of the other themes, I assume the problem lies somewhere within "current public theme"--where do I go to try to fix this?

I just wanted to clarify that in order for it to read the exhibit files from inside my theme directory, I actually had to delete the files from exhibitbuilder> views> public. Otherwise it wouldn't work. Is that expected behavior?

Same for SimplePages> views> public> page. Could put page>show.php in my theme file, but had to delete that folder from SimplePages plugin directory in order for it to work.