Coder Social home page Coder Social logo

helpfulrobot / i-lateral-silverstripe-carousel Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ntd/silverstripe-carousel

0.0 1.0 0.0 39 KB

A new page type that implements a carousel

License: BSD 2-Clause "Simplified" License

ApacheConf 0.90% PHP 74.53% Scheme 24.56%

i-lateral-silverstripe-carousel's Introduction

Silverstripe Carousel

It implements a new page type (CarouselPage) that provides everything needed to manage a carousel of images. Differently from other carousels, this one does not have the concept of seats (or slots), so managing the images is much easier on the backend side.

You can do bulk uploads and reorder the images by dragging and dropping their thumbnails in a dedicated tab (Image list) inside the CMS. The same image can be shared among multiple carousels. This module adds also some field to the Settings tab, allowing the customization of some aspect of the carousel on a per page basis (e.g., width and height of the images and a flag to show or hide captions). Support for the translatable module is provided out of the box, i.e. when creating a translation, the new page will borrow the original carousel images.

To improve file organization, if you upload your images from the carousel a specific folder is pre-selected (it it exists!) instead of the fallback one (Uploads). The folder name depends on the class hierarchy. If, for example, you inherit your HomePage type from CarouselPage, the code will look for any Home or Carousel folder (in this order) under your assets directory.

Usage

This module is front end agnostic, that is you can use the javascript library you prefer by writing a proper template.

Out of the box there are a couple of templates inside Includes that implement a Bootstrap (ContentCarousel_bootstrap.ss) or a bxSlider (ContentCarousel_bxslider.ss) carousel.

You can include one of them in any place inside your page template, e.g. a basic Bootstrap layout template could look like this one:

<%-- Layout/CarouselPage.ss --%>
<div class="page-header">
    <h1>$Title</h1>
</div>
<% include ContentCarousel_bootstrap.ss %>
<div class="row typography">
    $Content
</div>

<%-- Include Bootstrap 3 --%>
<% require CSS("//cdn.jsdelivr.net/bootstrap/3/css/bootstrap.min.css") %>
<script type="text/javascript" src="//cdn.jsdelivr.net/g/jquery@1,bootstrap@3"></script>

<%-- Enable the carousel --%>
<script type="text/javascript">
    \$(document).ready(function() {
        \$('#ss-carousel').carousel();
    });
</script>

The default layout (CarouselPage.ss) embeds a bxSlider carousel.

Alternatively, the silverstrap theme already supports this module out of the box. If you intend to leverage Bootstrap, consider using this theme instead, either by overriding or by modifying it.

Image captions

HTML captions are allowed. This is internally done by leveraging the Content field of the File table (typically empty). This is supposed to be an HTML chunk despite being defined as a plain text field by the SilverStripe code.

If the captions are enabled, they can be edited directly inside the Image list tab by clicking the Edit button.

When Content is not defined, an <h4> element with the image title is used instead: see templates/Includes/ImageCaption.ss for details.

Author

This project has been developed by ntd. Its home page is shared by other SilverStripe modules and themes.

To check out the code, report issues or propose enhancements, go to the dedicated tracker. Alternatively, you can do the same things by leveraging the official github repository.

Installation

The feature of reordering with drag and drop is provided by the sortablefile module that must be installed before.

To install silverstripe-carousel itself you should proceed as usual: drop the directory tree in your SilverStripe root and do a /dev/build/. You will gain the new CarouselPage type in the CMS.

If you use composer, the dependencies will be pulled-in automatically, so you could just run the following command:

composer require entidi/silverstripe-carousel dev-master

i-lateral-silverstripe-carousel's People

Contributors

ntd 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.