Git Product home page Git Product logo

spree-static-content's Introduction

Static Content

Good, clean content management of pages for Spree. You can use this to:

  • Add and manage static pages such as an ‘About’ page.

  • Show a static page instead of existing dynamic pages such as the home page, products pages, and taxon pages.

To override a dynamic page, use the path of that dynamic page as the slug when you create your page in the Spree Administration area, including the leading slash. For example:

  • to override the home page, use a path of ‘/’ (without quotes).

  • to override a product page, use its path, e.g. ‘/products/apache-baseball-jersey’ (without quotes).

The dynamic page can be made available again if you delete the static page or change its slug.

Create your own copy of the app/views/content/show.html.erb template in your site extension to change the layout of the static pages.

Example to use the static pages inside a menu

<ul>
  <% for page in Page.header_links do %>
    <li><%= link_to page.title, page.link %></li>
  <% end %>
</ul>

Installation and filter chain workaround:

Suggest you load this extension after the localization extension (you get the localization extension for free in spree core) and before your remaining extensions as the static content extension specifies a filter in Spree::BaseController that may not get inherited by its controller subclasses if other extensions modify these controller subclasses first.

We load the localization extension first to prevent its filter from being omitted from the filter chain.

Hope to resolve this workaround in the near future, see bug here for more info: railsdog.lighthouseapp.com/projects/31096-spree/tickets/653-specifying-filters-in-extensions-can-create-filter-chains-missing-filters

Add this to your environment.rb inside the

“Spree::Initializer.run do |config|” block:

config.extensions = [:localization, :static_content, :all]

spree-static-content's People

Contributors

swistak avatar bregor avatar romul avatar eliotsykes avatar gudata avatar peterberkenbosch avatar wesrog avatar

Stargazers

 avatar

Watchers

 avatar

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.