Giter VIP home page Giter VIP logo

camaleon-spree's Introduction

Camaleon CMS - Spree

Camaleon CMS - Spree is a plugin of Camaleon CMS to add Camaleon CMS into Spree CMS This plugin permit you to add custom fields for Spree Products by simple Drag and Drop, add custom fields for Camaleon Contents using Spree Products and Categories, also permits to manage your menus from Camaleon CMS.

Installation

  • Install Spree
    If there is an error creating admin user: please do this:
    rake spree_auth:admin:create
    
  • Install Camaleon CMS '>= 2.4.4.3'
  • Edit Camaleon CMS Settings config/system.json
"user_model": "Spree::User",
"admin_path_name": "store_admin",
  • Edit Gemfile
gem 'camaleon_spree'
  • Copy private file private_helper.rb to app/helpers/plugins/camaleon_spree/private_helper.rb
  • Install plugin, generate migrations and run migrations
    bundle install
    rake camaleon_cms:generate_migrations
    rake db:migrate
    
  • Restart Server
  • Complete Camaleon CMS Installation by visiting: http://localhost:3000/store_admin
  • Active your plugin in store_admin -> plugins
  • Configure your camaleon layout in plugin settings (optional), default use spree layout for camaleon pages
  • Create your custom fields for Spree Products or Camaleon Pages
  • Enjoy!

Features

  • Create custom fields for Spree Products, sample: related pages.
  • Spree Products and Categories as Custom fields to use in Camaleon CMS Pages, sample: related products.
  • Spree Products/Categories available in Camaleon CMS menus editor
  • Manage Store Menus by Camaleon CMS

Extras

  • Sample template for Spree Page using related products: template_product_page.html.erb Copy inside your app/apps/themes/[camaleon current theme folder]/views/template_product_page.html.erb and assign it in page edit form.

  • Sample frontend show product custom fields _product_custom_fields.html.erb Copy inside your app/views/defaces/product_custom_fields.html.erb and create a deface for Spree, like:

    # config/initializers/spree_defaces.rb
    Rails.application.config.to_prepare do
        Deface::Override.new(
              virtual_path: 'spree/products/show',
              name: 'cama_product_view_custom_fields',
              insert_bottom: '[data-hook="product_taxons"]',
              partial: 'defaces/product_custom_fields'
          )
    end
    
  • Add Camaleon CMS Menus in Spree Layout (Download sample template here) Copy to app/views/defaces/_layout_menus.html.erb and create a deface for Spree, like:

    # config/initializers/spree_defaces.rb
    Rails.application.config.to_prepare do
        Deface::Override.new(
              virtual_path: 'spree/layouts/spree_application',
              name: 'cama_menus_in_spree',
              insert_top: '[data-hook="body"]',
              partial: 'defaces/layout_menus'
          )
    end  
    
  • Demonstration:
    http://spree.tuzitio.com/

  • More information here:
    http://camaleon.tuzitio.com/store/plugins/camaleon-spree

camaleon-spree's People

Contributors

owen2345 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

camaleon-spree's Issues

Facing issue after integration camaleon-spree

Hi Team,

When I am trying to integrate this gem in my existing facing the below issue.
Any kind of help will be appreciated.
NameError: uninitialized constant Plugins::CamaleonSpree::PrivateHelper /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/camaleon_spree-0.0.2/app/helpers/plugins/camaleon_spree/main_helper.rb:2:inmodule:MainHelper'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/camaleon_spree-0.0.2/app/helpers/plugins/camaleon_spree/main_helper.rb:1:in <top (required)>' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/actionpack-4.2.6/lib/abstract_controller/helpers.rb:149:in block in modules_for_helpers'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/actionpack-4.2.6/lib/abstract_controller/helpers.rb:144:in map!' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/actionpack-4.2.6/lib/abstract_controller/helpers.rb:144:in modules_for_helpers'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/actionpack-4.2.6/lib/action_controller/metal/helpers.rb:93:in modules_for_helpers' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/actionpack-4.2.6/lib/abstract_controller/helpers.rb:108:in helper'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/actionpack-4.2.6/lib/action_controller/railties/helpers.rb:17:in inherited' /home/rails/rails_work/IndieInfluencers/app/controllers/application_controller.rb:1:in <top (required)>'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/spree_api-3.1.5/config/initializers/metal_load_paths.rb:1:in <top (required)>' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/engine.rb:652:in block in load_config_initializer'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/activesupport-4.2.6/lib/active_support/notifications.rb:166:in instrument' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/engine.rb:651:in load_config_initializer'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/engine.rb:616:in block (2 levels) in <class:Engine>' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/engine.rb:615:in each'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/engine.rb:615:in block in <class:Engine>' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/initializable.rb:30:in instance_exec'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/initializable.rb:30:in run' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/initializable.rb:55:in block in run_initializers'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/initializable.rb:44:in each' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/initializable.rb:44:in tsort_each_child'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/initializable.rb:54:in run_initializers' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/application.rb:352:in initialize!'
/home/rails/rails_work/IndieInfluencers/config/environment.rb:5:in <top (required)>' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/polyglot-0.3.5/lib/polyglot.rb:65:in require'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/polyglot-0.3.5/lib/polyglot.rb:65:in require' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/application.rb:328:in require_environment!'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/railties-4.2.6/lib/rails/application.rb:457:in block in run_tasks_blocks' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/gems/rake-12.0.0/exe/rake:27:in <top (required)>'
/home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/bin/ruby_executable_hooks:15:in eval' /home/rails/.rvm/gems/ruby-2.2.2@indie_influencers/bin/ruby_executable_hooks:15:in

'
Tasks: TOP => spree_auth:admin:create => environment
(See full trace by running task with --trace)`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.