Finalize ad_banner changes: front-end, back-end, mobile
This commit is contained in:
1 parent
fea86ba3a9
commit
7353b48212
11 files changed
+86
-95
No files matched your search
@@ -1,5 +1,6 @@
|
||||
module ParserCommon
|
||||
include ActionView::Helpers::TagHelper
|
||||
include ActionView::Helpers::FrontHelper
|
||||
# include ActionView::Helpers::UrlHelper
|
||||
|
||||
def menu_level(page, current_page, current, menu, edit = false)
|
||||
@@ -44,47 +45,38 @@ module ParserCommon
|
||||
res = ''
|
||||
ad_banner = AdBanner.find(banner["id"]) rescue nil
|
||||
if ad_banner
|
||||
res << "<script type='text/javascript'>
|
||||
jQuery(function( $ ){
|
||||
$.preload( '#slideshow-#{ad_banner.title.dehumanize} img', {
|
||||
onFinish:finish,
|
||||
threshold: 2 //'2' is the default, how many at a time, to load.
|
||||
});
|
||||
function finish(){
|
||||
$('#slideshow-#{ad_banner.title.dehumanize}').cycle({
|
||||
delay: -1000,
|
||||
fx: '#{ad_banner.ad_fx.nil? ? 'fade': ad_banner.ad_fx}',
|
||||
timeoutFn: getTimeout,
|
||||
pager: '.banner_nav-#{ad_banner.title.dehumanize}',
|
||||
pagerAnchorBuilder: function(idx, slide) {
|
||||
return \"<li><a href='#'></a></li>\";
|
||||
}
|
||||
});
|
||||
};
|
||||
});
|
||||
</script>"
|
||||
res << "<div style='position:relative'>"
|
||||
res << "<ul id='banner_nav' class='clear banner_nav-#{ad_banner.title.dehumanize}'></ul>"
|
||||
res << "<div id='slideshow-#{ad_banner.title.dehumanize}' class='slideshow'>"
|
||||
printable_ad_images = []
|
||||
res << "<div id='slideshow-#{ad_banner.title.dehumanize}' class='orbit-cycle-slideshow' data-cycle-timeout=#{ad_banner.timeout_millisecond} data-cycle-pager='.banner_nav_#{ad_banner.title.dehumanize}' data-cycle-pager-template='<li><a href=\"#\"></a></li>' data-cycle-pager-active-class='activeSlide' data-cycle-random='true' style='z-index: 0'>"
|
||||
ad_banner.ad_images.can_display.each do |ad_image|
|
||||
ad_image.weight.times do
|
||||
printable_ad_images << ad_image
|
||||
end
|
||||
end
|
||||
printable_ad_images.shuffle!
|
||||
hide = printable_ad_images.size > 1
|
||||
printable_ad_images.each do |ad_image| #TODO Need Reflact
|
||||
res << "<img src='#{ad_image.file}' "
|
||||
res << "alt='#{ad_image.title || ' '}' "
|
||||
res << "time_to_next='#{ad_banner.transition_msec}' "
|
||||
res << "link_open='#{ad_image.link_open}' "
|
||||
res << "link_url='#{(ad_image.out_link)}' "
|
||||
res << "style='#{'display:none;' if hide} #{'cursor:pointer;' if !ad_image.out_link.blank?}'"
|
||||
res << "/>"
|
||||
link = ad_image_link(ad_image)
|
||||
res << "<img src=#{ad_image.file} "
|
||||
res << "alt=#{ad_image.title} "
|
||||
res << "link_open=#{ad_image.link_open} "
|
||||
res << "link_url=#{link} "
|
||||
res << "height=#{ad_banner.height} "
|
||||
res << "width=#{ad_banner.width} "
|
||||
res << "style='display:none; #{'cursor:pointer;' if link}'"
|
||||
res << "/>"
|
||||
end
|
||||
res << "</div>"
|
||||
res << "</div>"
|
||||
res << "<script>"
|
||||
res << "$(function(){"
|
||||
res << "if($('#slideshow-#{ad_banner.title.dehumanize} img').length > 1){"
|
||||
res << "var a = [];"
|
||||
ad_banner.ad_images.can_display.each do |image|
|
||||
res << "a.push('#{image.file.url}');"
|
||||
end
|
||||
res << "$.preload(a, 2, function(){"
|
||||
res << "$('.orbit-cycle-slideshow').cycle();"
|
||||
res << "});"
|
||||
res << "}"
|
||||
res << "else{"
|
||||
res << "$('#slideshow-#{ad_banner.title.dehumanize} img').show()"
|
||||
res << "}"
|
||||
res << "});"
|
||||
res << "</script>"
|
||||
end
|
||||
fragment = Nokogiri::HTML::DocumentFragment.new(body, res)
|
||||
banner.swap(fragment)
|
||||
|
||||
Reference in new issue
Block a user