Skip to main content

Djangocms plugin for owl carousel v1

Project description

djangocms-owl is a reuseable plugin for django-cms that implements the JavaScript carousel library Owl Carousel. Version 1 of Owl Carousel is supported.

Dependencies

  • Djangocms>=3.0

  • Django>=1.6

Installation

Install Djangocms-owl from Pypi.

pip install djangocms-owl

Add Djangocms_owl to INSTALLED_APPS

INSTALLED_APPS = (
    ...
    'djangocms_owl',
    ...
)

Django 1.6 and/or South users will need to add the following to ensure migration compatibility.

SOUTH_MIGRATION_MODULES = {
    ...
    'djangocms_owl': 'djangocms_owl.south_migrations',
    ...
}

Owl Carousel has a dependency on JQuery Docs that is not currently included within this package. Add a copy will need adding to a template such as the base.html.

<script src="jquery.min.js"></script>

Configuration

CSS classes can be added to the plugin via a select box by using the DJANGOCMS_OWL_STYLES settings tuple.

DJANGOCMS_OWL_STYLES = (
    ('style1', 'Style 1'),
    ('style2', 'Style 2'),
)

djangocms_owl/default.html is rendered by default. The user can select custom templates if the following tuple is set as the example below demonstrates.

DJANGOCMS_OWL_TEMPLATES = (
    ('template1', 'Template 1'),
    ('template2', 'Template 2'),
)

Restrict the plugins available to Owl Carousel

DJANGOCMS_OWL_CHILD_CLASSES = (
    'PicturePlugin',
)

Include or exclude static files

DJANGOCMS_OWL_INCLUDE_CSS = True
DJANGOCMS_OWL_INCLUDE_JS_OWL = True
DJANGOCMS_OWL_INCLUDE_JS_JQUERY = True

Set the CMS module name in the available plugin list. The default is Generic.

DJANGOCMS_OWL_MODULE = _('Generic')

Templates

base.html includes all the JavaScript and CSS needed to run the carousel, but it does not render the HTML. Custom templates can extend base.html as long as they define a plugin block containing the html and plugin render code as show in the below example.

{% extends 'djangocms_owl/base.html' %}
{% load cms_tags %}

{% block plugin %}
  <div class="owl-carousel-plugin plugin{% if style %} {{ style }}{% endif %}" id="plugin-{{ instance.pk }}">
    <div class="row">
      <div class="small-12 columns">
        <div class="slider">
          {% for plugin in instance.child_plugin_instances %}
            <div class="item">
              {% render_plugin plugin %}
            </div>
          {% endfor %}
        </div>
      </div>
    </div>
  </div>
{% endblock plugin %}

Todo

  • Add support for owl carousel 2

  • Expand on the included Owl Carousel configuration options

  • Create abstract base models that can be overridden

Inspiration

Contributions

  • Lee Solway

History

0.1.8 (2016-04-08) - Disabled responsive modes by default, to respect the items option. Options can be overridden in the extra field. - When 1 option is selected, singleItem is added to opions by default

0.1.7 (2015-08-06)

  • Migration bugfix

0.1.6 (2015-08-05)

  • Added a JSON field override to allow for custom options

  • Added support for custom CMS module names

0.1.5 (2015-07-22)

  • Static files included from bower

  • Included jQuery

  • Included v2 of Owl Carousel of later user

  • Added settings to include/include jquery, owlcarousel.js and owl*.css files

  • Re-added select_template with Django 1.8 support

  • Separated the template to include a base to facilitate custom template creation - e.g. extend base.html

0.1.4 (2015-07-17)

  • render template bug fix with Django 1.8 (removed select_template)

0.1.3 (2015-07-06)

  • Critical bug fix

0.1.2 (2015-07-06)

  • Converted README.md to README.rst

  • Added AppConf

  • Added DJANGOCMS_CHILD_CLASSES configuration option

  • Updated the initial Django migration dependency to CMS 0001 initial

0.1.1 (2015-07-05)

  • Documentation updates

0.1.0 (2015-07-03)

  • First release on PyPI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djangocms-owl-0.1.8.tar.gz (1.7 MB view details)

Uploaded Source

File details

Details for the file djangocms-owl-0.1.8.tar.gz.

File metadata

File hashes

Hashes for djangocms-owl-0.1.8.tar.gz
Algorithm Hash digest
SHA256 99371d08098bb9ae05873f9480792e5a270939ed9bb86cb61f6f5289b14e04ea
MD5 aed7d213ddc642391f1fbe9610a3b8b1
BLAKE2b-256 39529783913311b31f94304eef26e625b10f47396fbec3b94fc83d60e461ed34

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page