diff --git a/frappe/website/page_controllers/base_template_page.py b/frappe/website/page_controllers/base_template_page.py index af7fc43293..4d282dab9d 100644 --- a/frappe/website/page_controllers/base_template_page.py +++ b/frappe/website/page_controllers/base_template_page.py @@ -5,6 +5,10 @@ from frappe.website.website_components.metatags import MetaTags class BaseTemplatePage(WebPage): + def __init__(self, path, http_status_code): + super().__init__(path=path, http_status_code=http_status_code) + self.template_path = '' + def init_context(self): self.context = frappe._dict() self.context.update(get_website_settings()) @@ -35,8 +39,7 @@ class BaseTemplatePage(WebPage): self.context.canonical = frappe.utils.get_url(frappe.utils.escape_html(self.path)) # context sends us a new template path - if self.context.template: - self.template_path = self.context.template + self.template_path = self.context.template or '' def set_base_template_if_missing(self): if not self.context.base_template_path: diff --git a/frappe/website/page_controllers/document_page.py b/frappe/website/page_controllers/document_page.py index c79e385a68..6ab384e77d 100644 --- a/frappe/website/page_controllers/document_page.py +++ b/frappe/website/page_controllers/document_page.py @@ -53,8 +53,7 @@ class DocumentPage(BaseTemplatePage): self.init_context() self.update_context() self.post_process_context() - template_path = self.context.template_path or self.context.template or '' - html = frappe.get_template(template_path).render(self.context) + html = frappe.get_template(self.template_path).render(self.context) html = self.add_csrf_token(html) return build_response(self.path, html, self.http_status_code or 200, self.headers) @@ -62,10 +61,12 @@ class DocumentPage(BaseTemplatePage): def update_context(self): self.context.doc = self.doc self.context.update(self.context.doc.as_dict()) - self.context.update(self.context.doc.get_website_properties()) + self.context.update(self.context.doc.get_page_info()) - if not self.context.template_path: - self.context.template_path = self.context.doc.meta.get_web_template() + self.template_path = self.context.template or self.template_path + + if not self.template_path: + self.template_path = self.context.doc.meta.get_web_template() if hasattr(self.doc, "get_context"): ret = self.doc.get_context(self.context) diff --git a/frappe/website/website_generator.py b/frappe/website/website_generator.py index fc08abeed9..f2638fd86d 100644 --- a/frappe/website/website_generator.py +++ b/frappe/website/website_generator.py @@ -129,6 +129,8 @@ class WebsiteGenerator(Document): if not route.page_title: route.page_title = self.get(self.get_title_field()) + route.title = route.page_title + return route def send_indexing_request(self, operation_type='URL_UPDATED'):