我正在尝试在 Odoo 上创建自定义片段(版本 18,这很重要)。我正在关注这个例子。源代码在这里
不幸的是,我无法使代码片段出现在版本 18 网站构建器编辑面板上。
我尝试使用版本 17,它运行没有问题。这是 17 版本的截图。
我尝试了多个 xpath,包括在 版本 18 的文档中找到的 xpath,但它都不起作用。我要么有错误,要么编辑面板上没有显示任何片段。
<xpath expr="//t[@t-snippet='website.s_banner']" position="before">
<xpath expr="//div[@id='snippet_effect']//t[@t-snippet][last()]" position="after">
<xpath expr="//div[@id='snippet_structure']/div[@class='o_panel_body']" position="inside">
他们都给我错误
元素“
”无法位于父视图中
xpath 进入 xml 继承
website.snippets
。
<template id="snippets" inherit_id="website.snippets">
<xpath expr="//*[@id='snippet_structure']" position="inside"> <!-- No error but nothing appear -->
<t t-snippet="website_oxp_2023_ard.s_weather" string="Weather Forecast" t-thumbnail="/website_oxp_2023_ard/static/src/img/s_weather.svg"/>
</xpath>
</template>
有人知道如何向 Odoo 版本 18 添加代码片段吗?
我也会调查这个问题:
首先回到原点:addons/website/views/snippet/snippet.xml:
<!-- Snippets menu -->
<template id="snippets" inherit_id="web_editor.snippets" primary="True" groups="base.group_user">
<xpath expr="//button[@data-action='cancel']" position="before">
<button type="button" class="btn btn-secondary" data-action="mobile" title="Mobile Preview" accesskey="v"><span class="fa fa-mobile"/></button>
</xpath>
<xpath expr="//div[@id='snippets_menu']" position="inside">
<button type="button" tabindex="3" class="o_we_customize_theme_btn text-uppercase"
groups="website.group_website_designer" accesskey="2">
<span>Theme</span>
</button>
</xpath>
<xpath expr="//t[@id='default_snippets']" position="replace">
<t id="default_snippets">
<t t-set="cta_btn_text" t-value="False"/>
<t t-set="cta_btn_href">/contactus</t>
<div id="snippet_structure" class="o_panel">
<div class="o_panel_header">Structure</div>
<div class="o_panel_body">
<t t-snippet="website.s_banner" string="Banner" t-thumbnail="/website/static/src/img/snippets_thumbs/s_banner.svg">
<keywords>hero, jumbotron</keywords>
</t>
<t t-snippet="website.s_cover" string="Cover" t-thumbnail="/website/static/src/img/snippets_thumbs/s_cover.svg">
<keywords>hero, jumbotron</keywords>
</t>
<t t-snippet="website.s_text_image" string="Text - Image" t-thumbnail="/website/static/src/img/snippets_thumbs/s_text_image.svg">
<keywords>content</keywords>
</t>