Skip to content

Instantly share code, notes, and snippets.

@owen2345
Created June 10, 2016 15:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save owen2345/eba9691585ed78ad6f7b52e9591357bf to your computer and use it in GitHub Desktop.
Save owen2345/eba9691585ed78ad6f7b52e9591357bf to your computer and use it in GitHub Desktop.
Sample how to add posts by code in Camaleon CMS
pt_layout = current_site.post_types.where(slug: "camaleon_layout").first || current_site.post_types.create(name: "Layout", slug: "camaleon_layout", data_options: {has_summary: false, has_picture: false })
pt_layout.add_field({name: "Sub title", slug: "sub_title"}, {field_key: "text_box", translate: true})
pt_layout.add_field({name: "Background Image", slug: "bg", description: "Size (1900px x 900px)."}, {field_key: "image"})
pt_layout.add_field({name: "Background color", slug: "bg_color", description: ""}, {field_key: "colorpicker", color_format: "rgba"})
pt_layout.add_field({name: "Pattern", slug: "pattern", description: "Permit to show square pattern as a background."}, {field_key: "checkbox"})
ids << pt_layout.id
pt_layout.add_post(title: "Home Slider", post_order: 1, content: "Here will be shown the home slider", settings: {has_keywords: false, skip_fields: ["sub_title", "pattern", "bg", "bg_color"], default_template: "home/banner"})
pt_layout.add_post(title: "Features", post_order: 2, content: lorem2, settings: {default_template: "home/features"})
pt_layout.add_post(title: "Expertise", post_order: 3, content: lorem2, settings: {default_template: "home/expertise"})
pt_layout.add_post(title: "Team", post_order: 4, content: lorem2, settings: {default_template: "home/team"})
pt_layout.add_post(title: "Counters", post_order: 5, content: lorem2, settings: {default_template: "home/counters", has_content: false, has_keywords: false, skip_fields: ["sub_tite"]}, fields: {pattern: true, bg: 'http://www.reallusion.com/de/images/3dx5/whatsnew/3dx5_features_banner_bg_02.jpg'})
pt_layout.add_post(title: "Gallery", post_order: 6, content: lorem2, settings: {default_template: "home/gallery"})
pt_layout.add_post(title: "Testimonials", post_order: 7, content: lorem2, settings: {default_template: "home/testimonials"}, fields: {pattern: true, bg: 'http://www.reallusion.com/de/images/3dx5/whatsnew/3dx5_features_banner_bg_02.jpg'})
pt_layout.add_post(title: "Pricing", post_order: 8, content: lorem2, settings: {default_template: "home/pricing"})
pt_layout.add_post(title: "Clients", post_order: 9, content: lorem2, settings: {default_template: "home/clients"}, fields: {pattern: true, bg: 'http://www.reallusion.com/de/images/3dx5/whatsnew/3dx5_features_banner_bg_02.jpg'})
pt_layout.add_post(title: "Custom Page", post_order: 10, content: lorem2, settings: {default_template: "home/custom"})
blog = pt_layout.add_post(title: "Blog", post_order: 11, content: lorem2, settings: {default_template: "home/blog"})
blog.add_field({name: "Items to Show", slug: "number_items"}, {field_key: "numeric", default_value: 4, required: true})
pt_layout.add_post(title: "Contact", post_order: 12, content: "#{lorem2} <b>Paste here your contact form shortcode</b>", settings: {default_template: "home/contact"}, fields:{pattern: true, bg: 'http://www.reallusion.com/de/images/3dx5/whatsnew/3dx5_features_banner_bg_02.jpg'})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment