将css / js资产合并到Odoo网站的最佳方法是什么?资产只为特定页面加载?
在示例和文档中,他们谈到将您的资产转储到Odoo的 website.assets_frontend
并且我这样做但是在某些情况下我想使用在线找到的网站模板,我真的不想花时间浏览css类并识别冲突 .
如果页面本身失败,这是一回事,但如果它打破了我现有页面上的所有css,那就是另一个 .
我在考虑使用这样的技术 .
t-if="request.httprequest.path.startswith('/page/path/')"
使用if语句确定是否将css合并到网站资产中 .
<odoo>
<data>
<template id="page_style" name="Page Style" inherit_id="website.assets_frontend">
<xpath expr="link[last()]" position="after">
<t t-if="request.httprequest.path.startswith('/page/path/')">
<link href="/addon_name/path/to/css/style.css" rel="stylesheet" type="text/css"/>
</t>
</xpath>
</template>
</data>
</odoo>
无论如何,如果有人想就如何将css纳入Odoo的前端资产提出建议,我会很感激 .
1 回答
你能做的是插入一个:
到您希望应用特定css / js的模板 . 有关具体示例,请参阅
addons/website_google_map/views/google_map_templates.xml
您的head标记的内容将插入到将为该模板呈现的最终HTML的head标记内 .
由于它似乎是直截了当的并且被框架本身使用,所以我已经自己使用它并且到目前为止没有任何问题 . 据我所知,您还可以创建一个javascript小部件,它将仅在您的模板上运行,将应用特定的CSS . 但上述解决方案对我来说似乎更清晰 .