structure.css -> default.css
Themes are optional, a theme overrides style in default.css
This commit is contained in:
		
							parent
							
								
									f4b1d1e182
								
							
						
					
					
						commit
						151f005815
					
				|  | @ -94,28 +94,25 @@ class Admin::DesignsController < ApplicationController | |||
|         themes_entries = [] | ||||
|         javascripts_entries = [] | ||||
|         images_entries = [] | ||||
|           #dir/zip_name | ||||
|           #dir/zip_name | ||||
| 
 | ||||
|         zip_file.entries.each do |entry| | ||||
|           case (path = entry.to_s) | ||||
|             when /\A(#{zip_name})\/[^\/]*(\.css)\z/ #for structure css | ||||
|             when /\A(#{zip_name})\/(default\.css)\z/    #for default css | ||||
|               filename = File.basename(entry.to_s) | ||||
|               temp_file4structure = File.new(dir + '/' + filename, 'w+')  | ||||
|               temp_file4structure.write (zip_file.read entry ).force_encoding('UTF-8') | ||||
|               design.structure_css = temp_file4structure | ||||
|             when /\A(#{zip_name})\/[^\/]*(\.html)\z/ #for layout html | ||||
|               temp_file = File.new(dir + '/' + filename, 'w+')  | ||||
|               temp_file.write (zip_file.read entry ).force_encoding('UTF-8') | ||||
|               design.default_css = temp_file | ||||
|             when /\A(#{zip_name})\/(layout\.html)\z/    #for layout html | ||||
|               filename = File.basename(entry.to_s) | ||||
|               temp_file4layout = File.new(dir + '/' + filename, 'w+')  | ||||
|               temp_file4layout.write (zip_file.read entry ).force_encoding('UTF-8') | ||||
|               design.layout.file = temp_file4layout | ||||
|               temp_file = File.new(dir + '/' + filename, 'w+')  | ||||
|               temp_file.write (zip_file.read entry ).force_encoding('UTF-8') | ||||
|               design.layout.file = temp_file | ||||
|               design.layout.to_save=true | ||||
|             when /\A(#{zip_name})\/(themes)\/.*(\.css)\z/  | ||||
|               #for themes css | ||||
|             when /\A(#{zip_name})\/(themes)\/.*(\.css)\z/   #for themes css | ||||
|               themes_entries << entry | ||||
|             when /\A(#{zip_name})\/(javascripts)\/.*(\.js)\z/  | ||||
|               #for js | ||||
|             when /\A(#{zip_name})\/(javascripts)\/.*(\.js)\z/   #for js | ||||
|               javascripts_entries << entry | ||||
|             when /\A(#{zip_name})\/(images)\/.*((\.jpg)|(\.png)|(\.gif))\z/               #for img | ||||
|             when /\A(#{zip_name})\/(images)\/.*((\.jpg)|(\.png)|(\.gif))\z/   #for img | ||||
|               images_entries << entry | ||||
|           end | ||||
|         end | ||||
|  |  | |||
|  | @ -23,7 +23,6 @@ class Admin::PagesController < ApplicationController | |||
|     @item.parent_id = @parent_item.id rescue nil | ||||
|     @designs = Design.all.entries | ||||
|     @default_design = Design.first | ||||
|     @default_theme =  @default_design.themes.detect {|t| t.name.to_s == 'default' } | ||||
|   end | ||||
| 
 | ||||
|   def edit | ||||
|  | @ -90,7 +89,6 @@ class Admin::PagesController < ApplicationController | |||
|   def reload_themes | ||||
|     @design = Design.find(params[:id]) | ||||
|     @themes = @design.themes | ||||
|     @default_theme =  @themes.detect {|t| t.name.to_s == 'default' } | ||||
|     respond_to do |format| | ||||
|       format.js  {} | ||||
|     end | ||||
|  |  | |||
|  | @ -64,10 +64,10 @@ class Admin::PurchasesController < ApplicationController | |||
|           design.layout.file = temp | ||||
|           design.layout.to_save = true | ||||
|            | ||||
|           title = design.structure_css_filename | ||||
|           title = design.default_css_filename | ||||
|           temp = File.new(dir + '/' + title, 'w+') | ||||
|           temp.write orig_zip.read(zip_name + '/' + title) | ||||
|           design.structure_css = temp | ||||
|           design.default_css = temp | ||||
|            | ||||
|           ['themes', 'javascripts', 'images'].each do |type| | ||||
|             design.send(type).each do |object| | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ class Design | |||
|   has_many :pages | ||||
| 
 | ||||
|   embeds_one :layout | ||||
|   mount_uploader :structure_css, AssetUploader | ||||
|   mount_uploader :default_css, AssetUploader | ||||
| 
 | ||||
|   embeds_many :themes | ||||
|   embeds_many :javascripts | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| class Page < Item | ||||
|    | ||||
|   field :content | ||||
|   field :theme_id, :type => BSON::ObjectId | ||||
|   field :theme_id, :type => BSON::ObjectId, :default => nil | ||||
|    | ||||
|   belongs_to :design | ||||
|   has_many :page_parts | ||||
|  |  | |||
|  | @ -26,11 +26,11 @@ | |||
| <% end %>  | ||||
| </p> | ||||
| <p> | ||||
| <%= f.label "structure_css", t('admin.structure_css') %> | ||||
| <%  if @design.structure_css.blank? %> | ||||
|     <%= f.file_field :structure_css %> | ||||
| <%= f.label "default_css", t('admin.default_css') %> | ||||
| <%  if @design.default_css.blank? %> | ||||
|     <%= f.file_field :default_css %> | ||||
|   <% else%> | ||||
|     <%= File.basename (@design.structure_css.url)  %> | ||||
|     <%= File.basename (@design.default_css.url)  %> | ||||
| <% end %>  | ||||
| </p> | ||||
| <p> | ||||
|  |  | |||
|  | @ -27,7 +27,7 @@ | |||
| 	<% if @design %> | ||||
| 		<%= f.select :theme_id, @design.themes.collect { |t| [t.name.capitalize, t.id] }%> | ||||
| 	<% else %> | ||||
| 		<%= f.select :theme_id, @default_design.themes.collect { |t| [t.name.capitalize, t.id] }, :selected => @default_theme.id %> | ||||
| 		<%= f.select :theme_id, @default_design.themes.collect { |t| [t.name.capitalize, t.id] }, :include_blank => true %> | ||||
| 	<% end %> | ||||
| </p> | ||||
| 
 | ||||
|  |  | |||
|  | @ -0,0 +1,2 @@ | |||
| <option></option> | ||||
| <%= options_from_collection_for_select(@themes, :id, :name) %> | ||||
|  | @ -1 +1 @@ | |||
| $('#page_theme_id').html("<%= escape_javascript(options_from_collection_for_select(@themes, :id, :name, @default_theme.id )) %>"); | ||||
| $('#page_theme_id').html("<%= escape_javascript(render :partial => 'admin/pages/themes_ddl') %>"); | ||||
|  | @ -10,9 +10,8 @@ Package content: | |||
|      My_design.zip | ||||
|      - info.json | ||||
|      - layout.html | ||||
|      - structure.css | ||||
|      - default.css | ||||
|      - themes | ||||
|           - default.css | ||||
|           - blue.css | ||||
|           - red.css | ||||
|      - javascripts | ||||
|  |  | |||
|  | @ -65,7 +65,7 @@ module Parser | |||
|       end | ||||
|       c.define_tag 'stylesheets' do |tag| | ||||
|         res = '' | ||||
|         res << "<link href='#{page.design.structure_css.url}' rel='stylesheet' type='text/css' /> " | ||||
|         res << "<link href='#{page.design.default_css.url}' rel='stylesheet' type='text/css' /> " | ||||
|         theme = page.design.themes.detect{ |d| d.id == page.theme_id  } | ||||
|         res << "<link href='#{theme.file.url}' rel='stylesheet' type='text/css' />" | ||||
|       end | ||||
|  | @ -173,7 +173,7 @@ module Parser | |||
|       end | ||||
|       c.define_tag 'stylesheets' do |tag| | ||||
|         res = '' | ||||
|         res << "<link href='#{page.design.structure_css.url}' rel='stylesheet' type='text/css' />" | ||||
|         res << "<link href='#{page.design.default_css.url}' rel='stylesheet' type='text/css' />" | ||||
|         theme = page.design.themes.detect{ |d| d.id == page.theme_id  } | ||||
|         res << "<link href='#{theme.file.url}' rel='stylesheet' type='text/css' />" | ||||
|       end | ||||
|  | @ -226,7 +226,7 @@ module Parser | |||
|       res << menu.values["class_#{current}"] | ||||
|       res << ">" | ||||
|       i = nil | ||||
|       i = 1 if menu.values["li_recursive_#{current}"] | ||||
|       i = 1 if menu.values["li_incremental_#{current}"] | ||||
|       if current == 1 && menu.values['home'].eql?('true') | ||||
|         res << menu_li(page, current, menu, i) | ||||
|         i += 1 if i | ||||
|  | @ -267,7 +267,7 @@ module Parser | |||
|         layout.build_menu(:levels => 0, :values => {}) unless layout.menu | ||||
|         layout.menu.levels = i = tag.attr['level'].to_i | ||||
|         layout.menu.values.merge!({'home' => tag.attr['home']}) if i == 1 | ||||
|         layout.menu.values.merge!({"id_#{i}" => tag.attr['id'], "class_#{i}" => tag.attr['class'], "li_class_#{i}" => tag.attr['li_class'], "li_recursive_#{i}" => tag.attr['li_recursive']}) | ||||
|         layout.menu.values.merge!({"id_#{i}" => tag.attr['id'], "class_#{i}" => tag.attr['class'], "li_class_#{i}" => tag.attr['li_class'], "li_incremental_#{i}" => tag.attr['li_incremental']}) | ||||
|         layout.menu.save | ||||
|         tag.expand | ||||
|       end | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue