Сообщение #1
18 мая 2017, 11:22
|
Отключение кэширования при загрузке шаблона
При разработке шаблона страницы и последующей ее загрузке через web.ajax происходит автоматическое кэширование шаблона и последующие изменения его не отобразятся на форме website.
Например, имеем шаблон test.xml
Загружаем его через ajax
после отработки механизма qweb.render получаем на странице website
«Привет»
Изменим наш шаблон
после отработки механизма qweb.render получаем на странице website тот-же
«Привет»
Наш шаблон закэшировался ajax.
Что делать?
Один из вариантов, добавить к ссылке загрузке шаблона случайную переменную:
после отработки механизма qweb.render получаем на странице website
«Пока»
Например, имеем шаблон test.xml
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-name="test.snip.Form">
<p>Пример</p>
</t>
</templates>
Загружаем его через ajax
var qweb = core.qweb;
var ajax = require('web.ajax');
ajax.loadXML('/test/static/src/xml/test.xml',qweb);
после отработки механизма qweb.render получаем на странице website
«Привет»
Изменим наш шаблон
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-name="test.snip.Form">
<p>Пока</p>
</t>
</templates>
после отработки механизма qweb.render получаем на странице website тот-же
«Привет»
Наш шаблон закэшировался ajax.
Что делать?
Один из вариантов, добавить к ссылке загрузке шаблона случайную переменную:
ajax.loadXML('/test/static/src/xml/test.xml?noCache='+(new Date().getTime()) + Math.random(),qweb);
после отработки механизма qweb.render получаем на странице website
«Пока»
Последний раз редактировал пользователь
aladkoi
-
18 мая 2017, 11:25