2017-02-11 3 views
0

Я пытаюсь установить модуль Odoo 8 на Odoo 9. Я получаю ParseError:« Недопустимое определение определения. Я попробовал чтение документации, но я только учусь и найти его трудно следоватьParseError: «Недопустимое определение определения

Ошибки я получаю

File "/opt/odoo/openerp/models.py", line 1281, in _validate_fields 
    raise ValidationError('\n'.join(errors)) 
ParseError: "Invalid view definition 

Error details: 
Element '<xpath expr="//link[@id='pos-stylesheet']">' cannot be located in parent view 

Error context: 
View `select_cashier_module_index index` 
[view_id: 699, xml_id: n/a, model: n/a, parent_id: 636] 
None" while parsing None:7, near 
<data name="select_cashier_module_index index" inherit_id="point_of_sale.index"> 
      <xpath expr="//link[@id='pos-stylesheet']" position="after"> 
       <link rel="stylesheet" href="/pos_select_cashier/static/src/css/pos.css"/> 
      </xpath> 

     </data> 

Вот файл templates.xml

<?xml version="1.0" encoding="utf-8"?> 

<openerp> 
    <data> 

     <template id="index" name="select_cashier_module_index index" 
        inherit_id="point_of_sale.index"> 
      <xpath expr="//link[@id='pos-stylesheet']" position="after"> 
       <link rel="stylesheet" href="/pos_select_cashier/static/src/css/pos.css"/> 
      </xpath> 

     </template> 

     <template id="assets_backend" name="select_cashier_module assets" 
        inherit_id="web.assets_backend"> 
      <xpath expr="//script[last()]" position="after"> 
       <script type="text/javascript" src="/pos_select_cashier/static/src/js/db.js"></script> 
       <script type="text/javascript" src="/pos_select_cashier/static/src/js/models.js"></script> 
       <script type="text/javascript" src="/pos_select_cashier/static/src/js/screens.js"></script> 
       <script type="text/javascript" src="/pos_select_cashier/static/src/js/widgets.js"></script> 
       <script type="text/javascript" src="/pos_select_cashier/static/src/js/main.js"></script> 
      </xpath> 
     </template> 
    </data> 
</openerp> 

ответ

0

Так как вы отметили это как Odoo-9 Я рассмотрел код Odoo 9, чтобы решить вашу проблему.

Я считаю, что point_of_sale.index что вы установили наследовать это here, который не имеет никакого <link> с id = "pos-stylesheet".

Это, однако, в шаблоне активов POS here, поэтому вам нужно изменить код, чтобы наследовать от point_of_sale.assets вместо point_of_sale.index.

Поэтому:

<template id="index" name="select_cashier_module_index index" 
       inherit_id="point_of_sale.assets"> 
    <xpath expr="//link[@id='pos-stylesheet']" position="after"> 
     <link rel="stylesheet" href="/pos_select_cashier/static/src/css/pos.css"/> 
    </xpath> 

</template> 

Кроме того, убедитесь, что в вашем __openerp__.py вы уже перечислены point_of_sale как один из ваших зависимостей.

+0

После изменения point_of_sale.index к point_of_sale.assets я получаю Raise NotFound() не найдены 404. Я не могу нагрузить Оду вообще. Я создал другую базу данных и попробовал ее снова, без каких-либо других модулей. Точка продажи, но я получаю ту же ошибку. – user2379186

+0

Не могли бы вы опубликовать полную трассу? Ошибка 404 - это ошибка на переднем конце, которая обычно проста, как плохой URL. –

0

это правильный код: -

<template id="assets" inherit_id="point_of_sale.assets"> 
     <xpath expr="." position="inside"> 
      <script type="text/javascript" src="/pos_restaurant/static/lib/js/jquery.event.drag-2.2.js"></script> 
      <script type="text/javascript" src="/pos_restaurant/static/src/js/multiprint.js"></script> 
      <script type="text/javascript" src="/pos_restaurant/static/src/js/splitbill.js"></script> 
      <script type="text/javascript" src="/pos_restaurant/static/src/js/printbill.js"></script> 
      <script type="text/javascript" src="/pos_restaurant/static/src/js/floors.js"></script> 
      <script type="text/javascript" src="/pos_restaurant/static/src/js/notes.js"></script> 
     </xpath> 
     <xpath expr="//link[@id='pos-stylesheet']" position="after"> 
      <link rel="stylesheet" href="/pos_restaurant/static/src/css/restaurant.css" /> 
     </xpath> 
    </template> 

так в вашем файле манифеста попытке добавить

'depends': ['point_of_sale'], 
Смежные вопросы