Odoo - добавить таблицу стилей на определенную страницу - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь добавить страницу таблицы стилей на одну страницу, у меня есть файл assets.xml, который содержит файлы .less, необходимые для всех страниц, у меня есть дополнительный файл tabs.less, к которому я хочу добавитьодна страница, отображаемая из контроллера TabsController.py.Я попытался унаследовать ресурсы веб-сайта из представления tabs.xml следующим образом:

<odoo>
    <template id="main_styles" inherit_id="website.assets_frontend">
        <xpath expr="link[last()]" position="after">
             <link href="/theme/static/less/tabs.less" rel="stylesheet" type="text/less"/>
        </xpath>
    </template>
</odoo>

Но поскольку он наследует основные ресурсы веб-сайта, tabs.less применяется ко всем страницам, что является нормальным поведением.Я также попытался просто добавить эти ссылки на tabs.xml, но, к сожалению, Odoo не скомпилировал их.Итак, мой простой вопрос: как добавить эту страницу в файл tabs.xml?Спасибо

Редактировать: я также попробовал другой маневр, который должен вызывать из assets.xml функцию, которая возвращает текущую страницу следующим образом:

<t t-set="page" t-value="request and request.env['ir.config_parameter'].current_page()"/>

<link t-if="page.find('tabs') != -1" href="/theme/static/less/tabs.less" rel="stylesheet" type="text/less"/>

Но, очевидно, из чегоЯ понял, layout.xml компилируется один раз при запуске сервера?Поскольку первая страница, которую я посещаю, является той, на которой проверяются все остальные текущие сеансы и другие сеансы, например: если я посещаю / product, то все оставшиеся тесты будут выполняться в строке «product», даже если яНаходится на вкладках / tabs, в результате чего таблица стилей не отображается, или наоборот (таблица стилей отображается на каждой странице, если я захожу на первую вкладку / tabs)

...