theme-design

v2026.09.25

Figma-to-Odoo design workflow and complete page template reference. Covers Figma extraction pipeline (colors, typography, layout), Chrome MCP automation, design-to-template matching methodology, header/footer decision flowcharts, and dynamic page reference (11 headers, 9 footers, shop, blog, cart templates with XML IDs). <example> Context: User wants to implement a Figma design user: "Implement this Figma design as an Odoo 17 theme" assistant: "I will analyze the Figma design and match it to Odoo templates." <commentary>Design-to-code workflow.</commentary> </example> <example> Context: User asks which header template to use user: "Which Odoo header template matches a hamburger menu design?" assistant: "Use template_header_hamburger." <commentary>Template matching query.</commentary> </example> <example> Context: User wants to know footer options user: "What footer templates are available in Odoo?" assistant: "There are 9 footer templates ranging from default to slideout." <commentary>Footer template reference.</commentary> </example>

GitHub
安装命令
npx skhub add ahmed-lakosha/theme-design
Markdown
SKILL.md

Figma-to-Odoo Design Workflow

Design Workflow Methodology

1. ANALYZE DESIGN → Extract colors, fonts, layout, components
2. COMPARE TO ODOO TEMPLATES → Match header, footer, page layouts
3. CHOOSE CLOSEST TEMPLATE → Select best matching built-in template
4. CONFIGURE VIA VARIABLES → Set $o-website-values-palettes
5. ENHANCE WITH CUSTOM CSS → Only what templates can't provide
6. CREATE CUSTOM SNIPPETS → Components not available in Odoo

Figma Extraction Pipeline

Using Figma MCP

1. Use Figma MCP with prompt:
   "Convert this Figma design to HTML for Odoo <version> website theme.
   Use Bootstrap v5.1.3 classes (not Tailwind).
   Apply proper Odoo theme structure with sections and containers."

2. Extract Color Palette:
   "Extract the color palette and map to o-color-1 through o-color-5."

3. Extract Typography:
   "Convert text styling to Bootstrap typography classes."

Using Chrome MCP (Browser Automation)

  1. Navigate to Figma URL → Open Pages (not components!)
  2. Click on page elements to extract:
    • Header/navbar → primary color
    • CTA buttons → secondary color
    • Section backgrounds → o-color-3
    • Body text → text color, font family
    • Headings (H1-H6) → heading fonts, sizes

Pages to check: Homepage, About/Services, Contact, Footer area

Color Mapping

Design ElementMaps To
Primary brand color (buttons, links)o-color-1
Accent/CTA coloro-color-2
Light section backgroundso-color-3
Main content backgroundo-color-4
Dark text / headingso-color-5

Header Templates (11 Primary + Variants)

XML IDNameBest For
website.template_header_defaultDefaultMost websites
website.template_header_hamburgerHamburgerMinimal designs
website.template_header_stretchStretchWide layouts
website.template_header_verticalVerticalApp-like sites
website.template_header_searchSearchE-commerce, directories
website.template_header_sales_oneSales 1Online stores
website.template_header_sales_twoSales 2Large catalogs
website.template_header_sales_threeSales 3Product-focused
website.template_header_sales_fourSales 4Fashion, retail
website.template_header_sidebarSidebarDashboard sites
website.template_header_boxedBoxedModern brands

Header Alignment Variants

  • ..._align_center / ..._align_right — Desktop alignment
  • ..._mobile_align_center / ..._mobile_align_right — Mobile alignment

Header Visibility (mutually exclusive)

XML IDEffect
website.header_visibility_standardScrolls with page
website.header_visibility_fixedSticks to top
website.header_visibility_disappearsHides on scroll down
website.header_visibility_fade_outFades out

Header Components (combinable)

XML IDComponentDefault
website.option_header_brand_logoLogo imageActive
website.option_header_brand_nameText nameInactive
website.header_call_to_actionCTA buttonActive
website.header_search_boxSearch barActive
website.header_social_linksSocial iconsInactive

Header Decision Flowchart

Is navigation hidden? → YES → template_header_hamburger
                       → NO → Vertical sidebar? → YES → Full page? → sidebar / vertical
                                                 → NO → E-commerce? → YES → Categories? → sales_two / sales_one
                                                                    → NO → Search prominent? → template_header_search
                                                                                             → Boxed? → boxed / stretch / default

Footer Templates (9 Options)

XML IDNameBest For
website.footer_customDefaultGeneral use
website.template_footer_descriptiveDescriptiveCorporate sites
website.template_footer_centeredCenteredLanding pages
website.template_footer_linksLinksLarge sites
website.template_footer_minimalistMinimalistClean designs
website.template_footer_contactContactService businesses
website.template_footer_call_to_actionCTAMarketing sites
website.template_footer_headlineHeadlineBrand statements
website.template_footer_slideoutSlideoutModern/trendy

Footer Decision Flowchart

Minimal (just copyright)? → YES → template_footer_minimalist
                          → NO → Center-aligned? → template_footer_centered
                                 Newsletter/CTA? → template_footer_call_to_action
                                 Contact info? → template_footer_contact
                                 Primarily links? → template_footer_links
                                 Detailed description? → template_footer_descriptive
                                 Default → footer_custom

Shop Page Templates (website_sale)

Layout Options

XML IDFeature
website_sale.products_design_cardCard layout
website_sale.products_design_gridGrid layout
website_sale.products_thumb_4_34:3 image ratio
website_sale.products_thumb_coverImage fills container (default)

Categories & Filters

XML IDFeatureDefault
website_sale.products_categoriesLeft sidebarInactive
website_sale.products_categories_topTop navActive
website_sale.products_attributesAttribute filtersActive
website_sale.filter_products_pricePrice filterInactive
website_sale.searchSearch boxActive
website_sale.sortSort dropdownActive

Product Detail Options

XML IDFeatureDefault
website_sale.product_commentReviewsInactive
website_sale.product_buy_nowBuy Now buttonInactive
website_sale.alternative_productsAlternativesActive

Blog Templates (website_blog)

Blog Listing

XML IDFeatureDefault
website_blog.opt_blog_cover_postFeatured bannerActive
website_blog.opt_blog_list_viewList viewInactive
website_blog.opt_blog_cards_designCard componentsInactive
website_blog.opt_blog_sidebar_showSidebarInactive

Blog Post Detail

XML IDFeatureDefault
website_blog.opt_blog_post_breadcrumbBreadcrumbsActive
website_blog.opt_blog_post_read_nextRead nextActive
website_blog.opt_blog_post_commentCommentsInactive

Cart & Checkout

XML IDFeatureDefault
website_sale.suggested_products_listSuggested productsActive
website_sale.reduction_codePromo codeActive
website_sale.accept_terms_and_conditionsT&C checkboxInactive

Generating Theme Configuration from Design

After analyzing the design and matching templates:

// primary_variables.scss — Generated from Design Analysis
$o-theme-font-configs: (
    'Poppins': (
        'family': ('Poppins', sans-serif),
        'url': 'Poppins:300,400,500,600,700',
    ),
);

$o-website-values-palettes: (
    (
        'color-palettes-name': 'default-1',
        'font': 'Poppins',
        'headings-font': 'Poppins',
        'header-template': 'hamburger',
        'header-links-style': 'pills',
        'logo-height': 48px,
        'footer-template': 'contact',
        'footer-scrolltop': true,
        'btn-padding-y': 0.75rem,
        'btn-border-radius': 8px,
        'link-underline': 'never',
    )
);

Then create theme.utils to activate the matched templates programmatically:

def _theme_yourtheme_post_copy(self, mod):
    self.enable_view('website.template_header_hamburger')
    self.enable_view('website.template_footer_contact')
    self.enable_view('website.option_header_brand_logo')
    self.disable_view('website.header_visibility_standard')
    self.enable_view('website.header_visibility_fixed')
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.25

发布时间

Sep 25, 2026

分类

未分类

许可证

MIT

源路径

odoo-frontend-plugin/skills/theme-design

默认分支

master

最新提交

5541d98

Tree SHA

dca9407