Created
December 8, 2014 22:23
-
-
Save davinmsu/ea35bfa424f2042d1b4a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| - offers.each do |offer| | |
| .offer data-id="#{offer.id}" data-hidden="#{offer.hidden?}" data-url="#{offer.url if offer.mainBlockClickable?}" | |
| .hidden-title = offer.hiddenTitle | |
| .offer-type class="#{offer.type.class}" = t(offer.type.title) | |
| // реализация интернационализации t() | |
| .imgWrapper data-gallery="#{offer.gallery}" data-rotate="#{offer.rotate?}" data-video="#{offer.video.count if offer.video.exists?}" | |
| .slider | |
| - if offer.images.empty? | |
| .no-image | |
| - else | |
| - offer.images.each do |i| | |
| img src="#{i.thumb.url}" alt="#{i.alt}" data-big-img="#{i.big.url if i.big.exists?}" | |
| h1 = offer.header | |
| .description = offer.description | |
| - unless offer.options.empty? | |
| ul.options | |
| - offer.options.each do |o| | |
| li | |
| - if o.type.exists? | |
| i class="option-icon-#{o.type}" | |
| span = o.value | |
| - unless offer.moreInfo.empty? | |
| ul.more-info | |
| - offer.moreInfo.each do |i| | |
| li = i | |
| // Экшн дополнительного чека на наличие фотографии и общего кол-ва путем обращения на бэк изображений ajax | |
| // этот пункт в темплейте реализовывать считаю нецелесообразным, поскольку это задача джаваскрипта | |
| //кликабелен или не кликабелен, при этом если кликнули на объект внутри блока с каким либо экшеном то клик по блоку не должен случиться | |
| // это решение (offer.mainBlockClickable?) - синтетическое. Подобное поведение лучше определять типом или подтипом оффера | |
| //При раскрытии разное кол-во колонок в зависимости от наполнености колонок, поколоночный вывод, наприсер может быть 1,3,2 элемента в одной колонке. если в колонке нет элементов то все которые справа сдвигаются влево | |
| // задача не имеет отношения к составлению теплейта. Это вопрос джаваскрипта или css и нет дополнительных | |
| условий управления поведением, приходящим с бэка | |
| //Глаз | |
| //1. 2 варианта как на картинке + еще один с закрашеным глазиком | |
| //2. Разные акшины при клике и наведении | |
| // Вопросы вывода экшенов можно решить как в примерах кода выше но лучше вообще не делать этого в шаблоне. | |
| // JS модель должна сама знать список экшенов и когда к ним обращаться | |
| // а общий JS offer-controller отвечать за клики по блоку в зависимости от контекста. Это не нужно совать в html |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment