Сообщение #1
29 мая 2017, 21:02
|
Создаем свой стиль страницы shop
1. Необходимо создать свою форму поиска c полями field1 и field2
2. Необходимо убрать стандартный ввод поиска
3. Добавить поля в список товаров
Решение:
Создаем файл templates.xml
В файле templates.xml формируем форму поиска:
Помещаем форму поиска на страницу shop
Убираем стандартную форму поиска
<xpath expr="//div[='input-group']" position=«replace»>
Создаем дополнительные поля в модели продажи товара
Добавляем поля в список товара, например, вместо картинки
<xpath expr="//div[='oe_product_image']" position=«replace»>
Добавляем новую группу своего товара
Создаем тестовые данные
Цепляем новые поля в форму отображения администратора
2. Необходимо убрать стандартный ввод поиска
3. Добавить поля в список товаров
Решение:
Создаем файл templates.xml
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<data>
содержимое
</data>
</odoo>
В файле templates.xml формируем форму поиска:
<template id="search" name="Форма поиска">
<form class="form-horizontal mt32" action='/shop' method="get">
<input type="hidden" name="form_search" value="1"/>
<div class="hff hff_dropbox form-group " data-form-type="dropbox" data-field-id="0">
<label class="col-md-3 col-sm-4 control-label" for="field1">Первое поле</label>
<div class="col-md-7 col-sm-8">
<input type="text" class="form-control field1" placeholder="Выберите1" required="required"
t-att-value="listtest.field1 if listtest.field1 else ''"
/>
</div>
</div>
<div class="hff hff_dropbox form-group" data-form-type="dropbox" data-field-id="1" required="required">
<label class="col-md-3 col-sm-4 control-label" for="field2">Второе поле</label>
<div class="col-md-7 col-sm-8">
<input type="text" class="form-control field2" required="required" placeholder="Выберите2"
t-att-value="listtest.field2 if listtest.field2 else ''"
/>
</div>
</div>
</div>
</div>
<div class="hff form-group">
<label class="col-md-3 col-sm-4 control-label o_default_snippet_text" for="f1"></label>
<div class="col-md-7 col-sm-8">
<button type="submit" class="btn btn-primary btn-md form-control o_website_form_button search_submit">Поиск</button>
</div>
</div>
</form>
</div>
</div>
</div>
</section>
</div>
</template>
Помещаем форму поиска на страницу shop
<template id="form_search" inherit_id="website_sale.products">
<xpath expr="//div[hasclass('js_sale')]" position="before">
<t t-call="test.search"/>
</xpath>
</template>
Убираем стандартную форму поиска
<xpath expr="//div[='input-group']" position=«replace»>
<template id="hide_search_custom" inherit_id="website.website_search_box">
<xpath expr="//div[<ls user="class" />='input-group']" position="replace">
<div></div>
</xpath>
</template>
Создаем дополнительные поля в модели продажи товара
class Test(models.Model):
_inherit = 'product.template'
field1=fields.Char()
field2=fields.Char()
Добавляем поля в список товара, например, вместо картинки
<xpath expr="//div[='oe_product_image']" position=«replace»>
<template id="report_header_custom" inherit_id="website_sale.products_item">
<xpath expr="//div[<ls user="class" />='oe_product_image']" position="replace">
<table>
<tr t-if="product.field1"><td>
Поле1:
</td><td>
<span itemprop="field1" t-esc="product.field1"/>
</td></tr>
<tr t-if="product.field1"><td>
Поле2:
</td><td>
<span itemprop="field2" t-esc="product.field2"/>
</td></tr>
</table>
</xpath>
</template>
Добавляем новую группу своего товара
<record model="product.public.category" id="category_test">
<field name="name">Test</field>
<field name="parent_id"/>
</record>
Создаем тестовые данные
<record id="route0" model="product.template">
<field name="name">Это тест</field>
<field name="field1">field1</field>
<field name="field2">field2</field>
</record>
Цепляем новые поля в форму отображения администратора
<record model="ir.ui.view" id="product_template_form_view">
<field name="name">product.template.product.website.form</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_form_view" />
<field name="arch" type="xml">
<group name="email_template_and_project" position="before">
<group name="website">
<field name=field1"/>
<field name="field2"/>
</group>
</group>
</field>
</record>
Последний раз редактировал пользователь
aladkoi
-
29 мая 2017, 21:12