23 lines
		
	
	
		
			683 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			683 B
		
	
	
	
		
			Ruby
		
	
	
	
| module ParserLayoutWidget
 | |
|   require 'nokogiri'
 | |
| 
 | |
|   def parse_widget_for_images(widget)
 | |
|     content = widget.widget_layout.file.read.force_encoding("UTF-8")
 | |
|     widge = Nokogiri::HTML(content)
 | |
|     a = []
 | |
|     b = []
 | |
|     widge.css('.widget_image').each do |page_image|
 | |
|       image = widget.images.where( file: File.basename(page_image['src']))[0]
 | |
|       a << page_image['src']
 | |
|       b << image.file
 | |
|       image.update_attributes(:html_id => page_image['id'], :html_class => page_image['class'], :in_html => true) if image
 | |
|     end
 | |
|     a.each_with_index do |img,i|
 | |
|       content = content.gsub(img,b[i].to_s)
 | |
|     end
 | |
|     widget.widget_layout.update_attributes(:body => content)
 | |
|   end
 | |
| 
 | |
| 
 | |
| end
 |