Здравствуйте коллеги!
Хочу поделится своим решение для фоновой подгрузки объектов каталога на страницу. Заранее извиняюсь за ошибки и очепятки))
Для этого нам понадобится:
1. Верстка:
<div id="catalog-objects-list" data-category="{category_id}">
<!-- Здесь выводятся объекты каталога -->
</div>
<div id="catalog-objects-preview">
<div id="ajax-loader" />
</div>
Тут 2 дива, в первый мы вставляем объекты каталога, второй вспомогательный (картинка подгрузки и ориентир так сказать), так же data-category это атрибут с ID категории чьи объекты мы там вписываем
2. Далее нам понадобится файлик ajax-catalog-list.js и tmpl.min.js которые прикреплены к теме. Первый файл, собственно сама подгрузка, он прокомментирован и не должен создать вопросов. Второй — шаблонизатор
3. И шаблон объекта/товара, только для js шаблонизатора. Про него чуть подробнее.
Так как шаблон для JS, то вставлять его надо прямо в верстку. И почему я использую шаблонизатор? Да все просто, верстка вывода объекта везде разная и править её проще в шаблоне.
Собственно сам шаблон (но шаблон очень сокращенный, вам понадобится переверстать!!!):
<script type="text/x-tmpl" id="tmpl-catalog-object">
<![CDATA[
<div class="catalog_item" data-object-id="{%= o.id %}">
<div class="text_block">
<div class="tovar_title_block rL">
<a href="{%=o.link%}">{%= o.name%}</a>
</div>
<a class="more db abs" href="{%= o.link%}">Подробнее</a>
</div>
</div>
]]>
</script>
Собственно что важно: Обратите внимание на тег script, а именно на его атрибут type и id, первый говорит о том что это шаблон, вторым задается название шаблона, по которому его можно вызвать в коде.
Далее следует обычная html верстка, она должна совпадать с версткой вашего объекта в обычном шаблоне (tpl или xslt).
И в этом шаблоне можно вставлять данные полей в виде {%= o.имя_поля_в_umi %}
Подробнее о шаблонизаторе можно узнать на гит хабе https://github.com/blueimp/JavaScript-Templates (https://github.com/blueimp/JavaScript-Templates)
P.S Так как сложность интеграции не зависит от umi, а зависит от вашего макета сайта, могу помочь интегрировать данную штуку на ваш проект за символическую плату :)))
Удачных вам проектов, господа!))