d17cadabf09f3cf17b7028617b73c6f4a6a99eb4
fp_portal_shell wraps every /my/* page (FP custom + Odoo default) in a sticky-sidebar shell with no per-template edits. Sidebar markup is a separate fp_portal_sidebar template that reads fp_sidebar_items + fp_partner_display_name from the page context. Approach D ($0 re-emit) used instead of plan's unbalanced-xpath approach: position="replace" on //div[@id='wrap'] with $0 inside <main> causes Odoo's Python inheritance engine to re-emit the original #wrap node (verified in tools/template_inheritance.py lines 162-169). Every xpath block is well-formed XML. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
Odoo 19 custom modules
Languages
Python
55.9%
HTML
26.1%
JavaScript
14.9%
SCSS
1.8%
CSS
0.8%
Other
0.4%