Module: Themes::CamaleonFirst::MainHelper

Defined in:
app/apps/themes/camaleon_first/main_helper.rb

Overview

Camaleon CMS is a content management system

Copyright (C) 2015 by Owen Peredo Diaz
Email: [email protected]
This program is free software: you can redistribute it and/or modify   it under the terms of the GNU Affero General Public License as  published by the Free Software Foundation, either version 3 of the  License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the  GNU Affero General Public License (GPLv3) for more details.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object


10
11
12
# File 'app/apps/themes/camaleon_first/main_helper.rb', line 10

def self.included(klass)
  klass.helper_method [:camaleon_first_list_select] rescue "" # here your methods accessible from views
end

Instance Method Details

#camaleon_first_list_selectObject

return a list of options for “Recent items from ” on site settings -> theme settings


21
22
23
24
25
# File 'app/apps/themes/camaleon_first/main_helper.rb', line 21

def camaleon_first_list_select
  res = []
  current_site.the_post_types.decorate.each {|p| res << "<option value='#{p.the_slug}'>#{p.the_title}</option>" }
  res.join("").html_safe
end

#camaleon_first_on_install_theme(theme) ⇒ Object


27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/apps/themes/camaleon_first/main_helper.rb', line 27

def camaleon_first_on_install_theme(theme)
  group = theme.add_field_group({name: "Home Page", slug: "home_page"})
  group.add_field({"name"=>"Home Page", "slug"=>"home_page", description: "Select your home page"},{field_key: "posts", post_types: "all"})
  group.add_field({"name"=>"Recent items from", "slug"=>"recent_post_type"}, {field_key: "select_eval", command: "camaleon_first_list_select"})
  group.add_field({"name"=>"Maximum of items", "slug"=>"home_qty"}, {field_key: "numeric", default_value: 6})

  group = theme.add_field_group({name: "Footer", slug: "footer"})
  group.add_field({"name"=>"Column Left", "slug"=>"footer_left"}, {field_key: "editor", translate: true, default_value: "<h4>My Bunker</h4><p>Some Address 987,<br> +34 9054 5455, <br> Madrid, Spain. </p>"})
  group.add_field({"name"=>"Column Center", "slug"=>"footer_center"}, {field_key: "editor", translate: true, default_value: "<h4>My Links</h4> <p><a href='#'>Dribbble</a><br> <a href='#'>Twitter</a><br> <a href='#'>Facebook</a></p>"})
  group.add_field({"name"=>"Column Right", "slug"=>"footer_right"}, {field_key: "editor", translate: true, default_value: "<h4>About Theme</h4><p>This cute theme was created to showcase your work in a simple way. Use it wisely.</p>"})

end

#camaleon_first_on_uninstall_theme(theme) ⇒ Object


40
41
42
# File 'app/apps/themes/camaleon_first/main_helper.rb', line 40

def camaleon_first_on_uninstall_theme(theme)
  theme.destroy
end

#camaleon_first_settings(theme) ⇒ Object


14
15
16
17
18
# File 'app/apps/themes/camaleon_first/main_helper.rb', line 14

def camaleon_first_settings(theme)
  # here your code on save settings for current site, by default params[:theme_fields] is auto saved into theme
  # Also, you can save your extra values added in admin/settings.html.erb
  # sample: theme.set_meta("my_key", params[:my_value])
end