Сообщение #1
16 августа 2017, 18:54
|
Один из вариантов создания шаблона с возможностью редактирования в Website Builder
Основной путь в Odoo для создания редактируемой странице в Website Builder — это создание snippet.
В Odoo есть возможность сделать все по другому.
Например, есть template c набором элементов div и label:
Для того, что-бы данный шаблон перешел в режим редактирования, в редактируемых элементах должны иметь место следующие атрибуты:
class=«snippet oe_structure o_editable o_dirty note-air-editor note-editable»
data-oe-model=«ir.ui.view»
data-oe-id=«929» — ID элемента шаблона в базе
data-oe-xpath="/t[1]/div[1]/div[1]" — путь поиска элемента шаблона
Эти атрибуты необходимы методу call записи для сохранения шаблона в базу Odoo при нажатии в Website Builder клавиши <<Сохранить>>.
Создав скрытое поле
перед необходимым элементов
получаем в элементе input весь необходимый набор атрибутов.
Далее подключаем JavaScript:
В Odoo есть возможность сделать все по другому.
Например, есть template c набором элементов div и label:
<template id="search" name="Форма поиска">
<t t-set="startst" t-value="bool(listst['startst']>0)"/>
<t t-set="endst" t-value="bool(listst['endst']>0)"/>
<div id="wrap" class="search_snippet">
<input type="hidden" name="tk"/>
<div class="snippet" >
<section class="s_text_block_image_fw oe_img_bg oe_custom_bg" style="background-image: url(/website/static/src/img/390.jpg); background-position: 12.57% 8.07%;">
<div class="container">
<div class="row">
<div class="col-md-6 mt64 mb64 bg-black-25">
<p class="o_default_snippet_text text-center">Пример записи</p>
</div>
</div>
</section>
</div>
</div>
</template
Для того, что-бы данный шаблон перешел в режим редактирования, в редактируемых элементах должны иметь место следующие атрибуты:
class=«snippet oe_structure o_editable o_dirty note-air-editor note-editable»
data-oe-model=«ir.ui.view»
data-oe-id=«929» — ID элемента шаблона в базе
data-oe-xpath="/t[1]/div[1]/div[1]" — путь поиска элемента шаблона
Эти атрибуты необходимы методу call записи для сохранения шаблона в базу Odoo при нажатии в Website Builder клавиши <<Сохранить>>.
Создав скрытое поле
<input type="hidden" name="tk"/>
перед необходимым элементов
<div class="snippet" >
получаем в элементе input весь необходимый набор атрибутов.
Далее подключаем JavaScript:
odoo.define('test.find', function (require) {
'use strict';
var animation = require('web_editor.snippets.animation');
animation.registry.search_snippet = animation.Class.extend({
selector: ".search_snippet",
start: function(editable_mode) {
var el=this.$target.find(".snippet");
var tid=this.$target.find("input[name*='tk']" )
el.addClass('oe_structure o_editable o_dirty note-air-editor note-editable');
el.attr('data-oe-model','ir.ui.view');
el.attr('data-oe-id',tid.attr('data-oe-id'));
el.attr('data-oe-xpath',"/t[1]/div[1]/div[1]");
if (editable_mode) {
//
}
else {
// this.$target.find(".snippet").removeClass('oe_structure o_editable o_dirty note-air-editor note-editable');
}
},
error: function(data){
},
});
Последний раз редактировал пользователь
aladkoi
-
16 августа 2017, 18:55