콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
2 답글
5430 화면

Hello everyone!

I'm about to using Odoo (v10) to run several webshops and websites. To share the frontend style (css) I've managed the structure into several modules to inherit style definitions from less-files. The structure looks as followed:

default_theme/static/private/less/header.less
default_theme/static/private/less/default.less (includes header.less, variables and so on)

default_shop/static/private/less/header.less
default_shop/static/private/less/default.less (imports default.less from default_theme + header.less of this module)

shop_A/static/private/less/header.less
shop_A/static/private/less/theme.less (imports default.less from the default_shop + header.less of this module and several additional variables and specifications for the shop)

The only less file that will be included via assets XML will be the one from the shop_A module. That is my setup / idea.

When I run the system I get the following error:

Local import '../../default_theme/static/private/less/default.less' is forbidden for security reasons.

When I dive into the source code I've seen that as soon as there are any "." in the import paths the script will fail.
How can I manage my less files into separate files instead of writing one large less file? Furthermore I want to split the style logic into several reusable modules instead of one module.

Hope that maybe someone can help me out.

아바타
취소
베스트 답변

You can easily create reusable theme modules. Please make sure, that you have defined the corresponding dependencies in the __manifest__.py file. You can add new assets to the already defined assets of the depending modules by inheriting the assets file and adding new links, such as:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="less" name="tw yings design" inherit_id="website.assets_frontend" active="True" priority="1">
<xpath expr="link[last()]" position="after">
<link href="/tw_yings_design/static/src/less/typography.less" rel="stylesheet" type="text/less"/>
<link href="/tw_yings_design/static/src/less/misc_classes.less" rel="stylesheet" type="text/less"/>
<link href="/tw_yings_design/static/src/less/options/colors/colorPreset1.less" rel="stylesheet" type="text/less"/>
</xpath>
</template>
</odoo>


아바타
취소
작성자 베스트 답변

Ermin, thanks that worked - altough it looks better to have those inheritances and imports directly in less. ;)

아바타
취소
관련 게시물 답글 화면 활동
0
11월 18
4178
1
1월 17
8296
0
11월 16
3478
1
6월 24
40813
8
12월 23
17919