Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

Aisamiery

  • **
  • 83
  • +7/-4
    • Просмотр профиля
Здравствуйте коллеги!
Хочу поделится своим решение для фоновой подгрузки объектов каталога на страницу. Заранее извиняюсь за ошибки и очепятки))

Для этого нам понадобится:
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

P.S Так как сложность интеграции не зависит от umi, а зависит от вашего макета сайта, могу помочь интегрировать данную штуку на ваш проект за символическую плату :)))

Удачных вам проектов, господа!))
« Последнее редактирование: 07 Февраля 2015, 22:53:03 от Aisamiery »

*

Aisamiery

  • **
  • 83
  • +7/-4
    • Просмотр профиля
Да, маленькое пояснение, у объектов каталога в верстке нужно добавить атрибут data-object-id, он используется для того, чтобы не дублировать объекты на одной странице.

Будут вопросы, задавайте в теме.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Здорово что есть решения, почему в маркет не выкидываешь?

*

Aisamiery

  • **
  • 83
  • +7/-4
    • Просмотр профиля
Здорово что есть решения, почему в маркет не выкидываешь?

Что то я пока не разобрался, как мне в маркет выгружать свои наработки, жаль что разработчики не сделали возможность закрыто выкладывать, чтоб по тестить как ставится решение.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
жаль что разработчики не сделали возможность закрыто выкладывать, чтоб по тестить как ставится решение.

А что именно интересует, попробовать установить свою разработку и посмотреть как она встанет на чистую UMI.CMS ?

*

Aisamiery

  • **
  • 83
  • +7/-4
    • Просмотр профиля
жаль что разработчики не сделали возможность закрыто выкладывать, чтоб по тестить как ставится решение.

А что именно интересует, попробовать установить свою разработку и посмотреть как она встанет на чистую UMI.CMS ?

Да )))

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Возможно, у UMI.SOFT есть такой функционал, не спрашивал, но всегда можно воспользоваться механизмом xmlImporter

Почитать об экспорте можно тут Перенос данных. По аналогии делаем импорт.

*

Aisamiery

  • **
  • 83
  • +7/-4
    • Просмотр профиля
Возможно, у UMI.SOFT есть такой функционал, не спрашивал, но всегда можно воспользоваться механизмом xmlImporter

Почитать об экспорте можно тут Перенос данных. По аналогии делаем импорт.

Спасибо, на досуге изучу материалы :)