<article> <header> <h1>#{get_breadcrumbs}</h1> </header> <div class="tabs"> <ul> <?r @settings.each do |group, items| ?> <?r begin group_label = lang(items[0].language_group_key) rescue group_label = group end ?> <li> <a href="#group_#{group}">#{group_label}</a> </li> <?r end ?> </ul> </div> #{ form_for(@settings, :method => :post, :action => @form_save_url, :id => :setting_form) do |f| f.input_hidden(:csrf_token, get_csrf_token) @settings.each do |group, items| f.g.div(:id => "group_#{group}") do items.each do |s| # Get the label from the language pack name = s.key.to_sym begin label = lang(s.language_key) rescue label = s.key end # Get the value from either the value or default getter if s.value.nil? value = s.default else value = s.value end # Get all possible values for the current setting from the language pack begin values = Settings::Models::Setting.send("get_#{s.key}_values") rescue values = {} end case s.type when 'textbox' f.input_text( label, name, :value => value ) when 'textarea' f.textarea( label, name, :value => value, :rows => 8 ) when 'radio' f.input_radio( label, name, value, :values => values ) when 'checkbox' f.input_checkbox( label, name, value, :values => values ) when 'select' f.select( label, name, :values => values, :size => 1, :selected => value ) end end end end f.g.div(:class => 'clearfix') do f.g.div(:class => 'button') do f.g.input(:type => 'submit', :value => lang('settings.buttons.save')) end end end } </article>