Cmslooks has a theme system to extend the CMS functionality with your customized Frontend. And you can build your own custom theme and use it in the project. And also you can sell the theme personally or through the marketplace.
If you want to create a new plugin, follow our folder structure.
Step By Step Guide:
1. Create a folder with the name of your theme. In lowercase and no spaces. Like: test-theme.
2. The new folder must contain a JSON file named "theme.json". Create the file and here you must have to put all the theme information.
Here is what a demo-theme JSON looks like.
"location": "test-theme",
"license_api": " "
}
4. src. Here are all the src files Like Http/Controller, Http/Request, Models, Repositories, Services, or Any Class File that should be situated. And remember all class files should have the Theme Namespace to work.
5. views: All the theme view files should be here. You can get the view file like this - "theme/your_plugin_location::rest_of_the_file_path". Example - "theme/test-theme::home" OR "theme/test-theme::page.index".
Also if you want to show the theme related modules link in the admin sidebar you have to create a includes folder in views/backend. And a themeOptions.blade.php in the includes folder. In the themeOptions file, you can write the nav item.
6. config: If you want to have a config file for your theme-related data, you can create a config folder. And a config.php file. And to access the config file data - "config('plugin_location.data')". Example - config('test-theme.status.active') .This config folder is required to build a theme. And a menu location array must be there -
'menu_position' => [
'Header Menu'
],
7. helpers (Optional): If you need a helper function for your theme, you can create a helpers folder and a helper.php file in the folder. All the functions in that folder will be autoloaded. You can follow the Core/helpers/helper file on how to write functions on this theme helper. But this is optional and not required for the theme.
8. banner.png: You need to have a banner.png file to showcase the theme image. preferred size 294 x 95 px.
We have a Theme helper function in Core/Helpers. You can use those functions to develop your theme and avoid getting errors.
When you ready your Theme then for the next install, you can follow this post.