@woakes070048 can you suggest a structure? Have not given this a lot of thought.
I think adding theme capabilities to Frappe would give businesses a great advantage to use branding and better blend ERPNext look and feel when integrating with their platforms.
The approach I’m suggesting since Frappe is using jinja2 engine is to write templates using Sass and javascript with predefined variables set, then deploy webassets to manage the process of applying templates css and javascript assets on targeted frappe application which can use [pyScss] (pyScss · PyPI) to generate templates css .
Webassets library can be configured to use pyScss compiler (implemented in Python) for SCSS.
hi, great theme, we have selection another theme admin, but we need an help for install and configure it, can you help us?
Generally, how an app usually handles theming is by breaking out the views to a themes directory. That’d allow theme creators to modify .HTML files and use whatever else they wanted (e.g. SASS/LESS, etc.). The app would then have a theme selector in the settings that would act as a redirect to the selected theme folder.
A system like that offers the most flexibility as people can work in their own JavaScript, CSS, and custom HTML for their themes without worrying about messing up core files. Of course, any updates to the underlying code may make it so a theme has to be updated by the creator to stay current, but that’s the price of flexibility.
I create bdtheme app for change ui theme and add left menu.
link to install app. you can edit and change my logo. hope you like it.
I just installed the app and It works fine, the left menu is very handy but isn’t translated.
Also, I think the responsive needs some work too.
There is a way to accomplish this?
Thanks!
This is really awesome. Nice Work.
Bbtheme app is the way to change theme and how to add left menu. Correct left menu I hard code notyet code for customize by app and notyet support translate. But you can edit my code apply your project. It’s easy to change left menu and logo.
@vinhnguyent090
I have tried your theme. It looks good.
If you want to make dynamic, you can use following js script
-
get all modules
frappe.modules
-
Get Module Doctype and Report list
frappe.call({
method: “frappe.desk.moduleview.get”,
args: {
module: “Delivery Management”
},
callback: function(r) {
console.log(r.message.data)},
freeze: true,
});
Yes thank your solution. But I like the way user can add their menu by create new menu doctype more than get dynamic via modules. Becuase erpnext have many pages. User only show their menus with their role. Exam sales role show sales menu or stock role show stock menu.
That looks very nice. I have been wanting to do somthing like this for a long time.
Wow! This is exactly how I’ve always thought the Frappe UI (for the Desk) should be… Menu on the left sidebar and customizable dashboards/widgets on the main page
This would be fantastic!
Kind regrads,
Agree!
+1 on that!
+1 on that!
correct this way I’m doing but now I have another issue need to do
Very good work.
Now once applied how can i restore or change to another Theme ?
Translation to other languages when ? Initially ERPNext already has so is just use the existing ones correct?
Hi Helio_Jeus
how can i restore => you can uninstall my app
bench --site [sitename] uninstall-app bdtheme
or change to another Theme => just uninstall my app then install another theme (but current I don’t know any theme).
Translation to other languages when ? => I don’t know but now you can edit my theme.
– change logo you can overwrite my images.
/apps/bdtheme/bdtheme/public
– change link + language of menu
/apps/bdtheme/bdtheme/public/js/template/main-sidebar.html