diff --git a/config.json b/config.json index 8c817808be..d528542ba7 100644 --- a/config.json +++ b/config.json @@ -1,4 +1,5 @@ { + "base_template": "lib/website/templates/base.html", "modules": { "Finder": { "type": "page", diff --git a/webnotes/__init__.py b/webnotes/__init__.py index a3865b8090..95675b5e52 100644 --- a/webnotes/__init__.py +++ b/webnotes/__init__.py @@ -487,7 +487,9 @@ def get_config(): try: with open(path, "r") as configfile: this_config = json.loads(configfile.read()) - _config.app_name = this_config.get("app_name") + for k in ("app_name", "base_template"): + _config[k] = this_config.get(k) + _config.modules.update(this_config["modules"]) _config.web.pages.update(this_config["web"]["pages"]) _config.web.generators.update(this_config["web"]["generators"]) diff --git a/webnotes/webutils.py b/webnotes/webutils.py index 763816f53f..d27334ce43 100644 --- a/webnotes/webutils.py +++ b/webnotes/webutils.py @@ -56,15 +56,17 @@ def render_page(page_name): def build_page(page_name): from jinja2 import Environment, FileSystemLoader + import os if not webnotes.conn: webnotes.connect() sitemap = webnotes.cache().get_value("website_sitemap", build_sitemap) page_options = sitemap.get(page_name) + basepath = webnotes.utils.get_base_path() module = None no_cache = False - + if page_options.get("controller"): module = webnotes.get_module(page_options["controller"]) no_cache = getattr(module, "no_cache", False) @@ -89,10 +91,12 @@ def build_page(page_name): context.update(module.get_context()) context = update_context(context) + + jenv = Environment(loader = FileSystemLoader(basepath)) - jenv = Environment(loader = FileSystemLoader(webnotes.utils.get_base_path())) - template_name = page_options['template'] + context["base_template"] = jenv.get_template(webnotes.get_config().get("base_template")) + template_name = page_options['template'] html = jenv.get_template(template_name).render(context) if not no_cache: diff --git a/website/doctype/about_us_settings/templates/__init__.py b/website/doctype/about_us_settings/templates/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/website/doctype/about_us_settings/templates/pages/__init__.py b/website/doctype/about_us_settings/templates/pages/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/website/doctype/about_us_settings/templates/about.html b/website/doctype/about_us_settings/templates/pages/about.html similarity index 95% rename from website/doctype/about_us_settings/templates/about.html rename to website/doctype/about_us_settings/templates/pages/about.html index 277f790cf7..39dd63c9a9 100644 --- a/website/doctype/about_us_settings/templates/about.html +++ b/website/doctype/about_us_settings/templates/pages/about.html @@ -1,4 +1,4 @@ -{% extends "app/website/templates/html/page.html" %} +{% extends base_template %} {% set title="About Us" %} diff --git a/website/doctype/about_us_settings/templates/pages/about.py b/website/doctype/about_us_settings/templates/pages/about.py new file mode 100644 index 0000000000..495f05222a --- /dev/null +++ b/website/doctype/about_us_settings/templates/pages/about.py @@ -0,0 +1,6 @@ +import webnotes + +def get_context(): + return { + "obj": webnotes.bean("About Us Settings", "About Us Settings").get_controller() + } \ No newline at end of file diff --git a/website/doctype/blog_post/templates/generators/blog_post.html b/website/doctype/blog_post/templates/generators/blog_post.html index 6396b188d9..248fcdd0b6 100644 --- a/website/doctype/blog_post/templates/generators/blog_post.html +++ b/website/doctype/blog_post/templates/generators/blog_post.html @@ -1,15 +1,15 @@ -{# Options: { - "doctype": "Web Page" -} #} - -{% extends "app/website/templates/html/page.html" %} +{% extends base_template %} {% block javascript %} - {% include "app/website/templates/js/blog_page.js" %} + {% endblock %} {% block css %} - {% include "app/website/templates/css/blog_page.css" %} + {% endblock %} {% block content %} @@ -27,7 +27,7 @@ {% if blogger_info %}
diff --git a/website/doctype/contact_us_settings/templates/pages/contact.py b/website/doctype/contact_us_settings/templates/pages/contact.py new file mode 100644 index 0000000000..9206372d76 --- /dev/null +++ b/website/doctype/contact_us_settings/templates/pages/contact.py @@ -0,0 +1,6 @@ +import webnotes + +def get_context(): + return { + "obj": webnotes.bean("Contact Us Settings", "Contact Us Settings").get_controller() + } \ No newline at end of file diff --git a/website/doctype/web_page/templates/generators/web_page.html b/website/doctype/web_page/templates/generators/web_page.html index 5b402bd58c..316cc7ca96 100644 --- a/website/doctype/web_page/templates/generators/web_page.html +++ b/website/doctype/web_page/templates/generators/web_page.html @@ -1,4 +1,4 @@ -{% extends "lib/website/templates/base.html" %} +{% extends base_template %} {% block content %}