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
71.8%
JavaScript
17.4%
HTML
8.2%
SCSS
1%
CSS
0.8%
Other
0.6%