From 38f462cdbd0b4d83b337d90c1535462c3e873aec Mon Sep 17 00:00:00 2001 From: rulingcom Date: Thu, 24 Apr 2025 16:44:01 +0800 Subject: [PATCH] image fix --- app/controllers/event_news_mods_controller.rb | 85 ++++++++++++++----- 1 file changed, 65 insertions(+), 20 deletions(-) diff --git a/app/controllers/event_news_mods_controller.rb b/app/controllers/event_news_mods_controller.rb index 0b10d44..4d3584c 100644 --- a/app/controllers/event_news_mods_controller.rb +++ b/app/controllers/event_news_mods_controller.rb @@ -1,5 +1,7 @@ class EventNewsModsController < ApplicationController include EventNewsHelper + DefaultImgSrc = "/assets/event_news-default.jpg\" onerror=\"this.src="/assets/event_news-default-2.jpg";this.onerror='';" + def initialize super @app_title = 'event_news_mod' @@ -7,6 +9,41 @@ class EventNewsModsController < ApplicationController end def index EventNews.remove_expired_status + params = @params = OrbitHelper.params + page = @page || Page.where(url: params['url']).first + @enable_search_flag = false + @image_version = 'thumb' + if page.respond_to?(:select_option_items) + module_app = ModuleApp.where(key: @app_title).first + @show_option_items = nil + if module_app && page.respond_to?(:select_option_items) + @show_option_items = module_app.show_option_items + end + I18n.with_locale(:en) do + page.select_option_items.each do |select_option_item| + if !(@show_option_items.nil?) + case select_option_item.field_name + when @show_option_items.keys[1].to_s + value = YAML.load(select_option_item.value) + if value[:en] == t('event_news.yes') + @enable_search_flag = true + end + when @show_option_items.keys[4].to_s + value = YAML.load(select_option_item.value) + tmp = value[:en] + if tmp == t('event_news.small_size') + @image_version = 'thumb' + elsif tmp == t('event_news.medium_size') + @image_version = 'mobile' + elsif tmp == t('event_news.orignal_size') + @image_version = 'orignal' + end + end + end + end + end + end + sorted,total_pages = get_sorted_event_news event_news = sorted.collect do |a| if a["source-site"].blank? @@ -28,6 +65,14 @@ class EventNewsModsController < ApplicationController title = 'no content' if title.blank? event_time = a.event_time_formated_for_frontend event_time_formated = a.event_time_formated + if @image_version == 'thumb' + image_url = a.image.thumb.url + elsif @image_version == 'mobile' + image_url = a.image.mobile.url + else + image_url = a.image.url + end + { "department" => author, "event_news_links" => links, @@ -55,7 +100,7 @@ class EventNewsModsController < ApplicationController "is_top" => (a.is_top? ? 1 : 0), "link_to_show" => link_to_show+"\" title=\"#{title}\"", "target" => target, - "img_src" => a.image.thumb.url || "/assets/event_news-default.jpg", + "img_src" => image_url || DefaultImgSrc, "img_description" => desc, "more" => t("event_news.more"), "view_count" => a.view_count @@ -178,7 +223,7 @@ class EventNewsModsController < ApplicationController Category.where(:id.in => cats).pluck(:id, :title).each{|id, title_translations| cats_translations[id.to_s] = title_translations[I18n.locale] } - cats_relations = cats_translations.map{|cat_id,t| + cats_relations = cats_translations.map{|cat_id,t| if cat_id == "all" t = "all" end @@ -206,7 +251,7 @@ class EventNewsModsController < ApplicationController end max_all_count = [OrbitHelper.widget_data_count,event_news.count].min if @tab_option != 0 - OrbitHelper.set_widget_title(OrbitHelper.widget_title + + OrbitHelper.set_widget_title(OrbitHelper.widget_title + "
" + "