Module: C80Catoffers::Inner::CssHelper
- Defined in:
- app/helpers/c80_catoffers/inner/css_helper.rb
Instance Method Summary collapse
-
#_calc_css_for_list_iconed(thumb_size) ⇒ Object
Спец-метод узкого назначения - формирует css стиль, фиксирует габариты ссылки-конейнера, в которую помещена картинка.
-
#_calc_css_for_list_widget(thumb_size) ⇒ Object
Спец-метод узкого назначения - формирует css стиль, фиксирует габариты ссылки-конейнера, в которую помещена картинка и ШИРИНУ соседних элементов списка.
-
#_get_widgeted_offers_with_slots ⇒ Object
Помогает методам этого хелпер-модуля: выдаёт слотованный список предложений, которые необходимо вывести в виджете.
-
#_proccess_list_of_props(list_of_props, offer) ⇒ Object
Помогает методу
render_offers_widgetтем, что содержит код, перебирающий имена свойств изlist_of_props, находит значения в элементеoffer, и возвращает релевантный список значений.
Instance Method Details
#_calc_css_for_list_iconed(thumb_size) ⇒ Object
Спец-метод узкого назначения - формирует css стиль, фиксирует габариты ссылки-конейнера, в которую помещена картинка. Также, предполагает, что СЛЕВА/СПРАВА от картинки располагается блок типа title, и для таких блоков фиксируется ВЫСОТА (подгоняется под ВЫСОТУ картинки)
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'app/helpers/c80_catoffers/inner/css_helper.rb', line 70 def _calc_css_for_list_iconed(thumb_size) # свойства модуля p = Prop.first # css_for_a: , # css_for_title: # чтобы вёрстка не прыгала - зафиксируем размер картинки w = p.send("#{thumb_size}_width") #.thumb_sm_width h = p.send("#{thumb_size}_height") #.thumb_sm_height res = { :a_lazy_wrapper => "width:#{w}px;height:#{h}px", :title => "height:#{h}px;line-height:#{h}px" } # Rails.logger.debug "[TRACE] <_calc_css_for_list_iconed> #{res}" res end |
#_calc_css_for_list_widget(thumb_size) ⇒ Object
Спец-метод узкого назначения - формирует css стиль, фиксирует габариты ссылки-конейнера, в которую помещена картинка и ШИРИНУ соседних элементов списка.
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'app/helpers/c80_catoffers/inner/css_helper.rb', line 96 def (thumb_size) # свойства модуля p = Prop.first # css_for_a: , # css_for_title: # чтобы вёрстка не прыгала - зафиксируем размер картинки w = p.send("#{thumb_size}_width") #.thumb_sm_width h = p.send("#{thumb_size}_height") #.thumb_sm_height res = { :a_lazy_wrapper => "width:#{w}px;height:#{h}px", :title => "width:#{w}px" } # Rails.logger.debug "[TRACE] <_calc_css_for_list_iconed> #{res}" res end |
#_get_widgeted_offers_with_slots ⇒ Object
Помогает методам этого хелпер-модуля: выдаёт слотованный список предложений, которые необходимо вывести в виджете.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'app/helpers/c80_catoffers/inner/css_helper.rb', line 34 def # свойства модуля p = Prop.first # результат соберём тут список категорий, которые надо вывести в виджете list = Offer..def_order # сколько должно быть позиций? positions_count = p.positions_count # Rails.logger.debug "[TRACE] positions_count: #{positions_count}; list.count: #{list.count}" # если всего в списке меньше, чем надо - добьём список слотами if list.count < positions_count delta = positions_count - list.count delta.times do |i| # Rails.logger.debug "[TRACE] Offer.new" list << Offer.new({ title: "Свободное место №#{i}", price: 'Цену уточняйте в админке', short_desc: 'Описание не указано' } ) end end list end |
#_proccess_list_of_props(list_of_props, offer) ⇒ Object
Помогает методу render_offers_widget тем, что содержит код, перебирающий имена свойств из list_of_props, находит значения в элементе offer, и возвращает релевантный список значений
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/helpers/c80_catoffers/inner/css_helper.rb', line 11 def _proccess_list_of_props(list_of_props, offer) # результат соберём тут list_of_values = [] # переберём имена свойств, подберём для каждого значение list_of_props.each_with_index do |prop_name, index| prop_value = offer.try(prop_name) unless prop_value.present? prop_value = 'Значение не определено' end list_of_values << prop_value end list_of_values end |