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',
    ...
)

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.9 WIP - Removed South migrations - Using the get_render_template method on the plugin - Bumping min CMS version to 3.2.3 + Django version to 1.8.1

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.9.tar.gz (1.7 MB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for djangocms-owl-0.1.9.tar.gz
Algorithm Hash digest
SHA256 6228a5afde47ac1cc1ee154698836aa65672228355251e8624436ae7fb4900fd
MD5 7e34f23cf0044ea584320cde4262a73a
BLAKE2b-256 6b13a4d39dbf9451f27750023d2390a921fba23af6b02510c34a0035e1b6296a

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