Skip to main content

DjangoCMS-popup let you create small popups that contains other plugins!

Project description

DjangoCMS-popup

Install

  1. Install module

    python3 -m pip install djangocms-popup
    
  2. Add it to your INSTALLED_APPS

        'djangocms_popup',
    
  3. Launch your django-cms site, it should be here!

Requirements

  • django-cms: Obviously
  • django-sekizai: Only for the template. So you can uninstall it if you create your own templates.

Features

A popup

DjangoCMS-popup demo

An Admin list of popups that you can access from a button in your taskbar

DjangoCMS-popup demo list

Configuration

  • DJANGOCMS_POPUP_ADD_LIST_BUTTON (default is True): Disable this setting to disable the button in the toolbar.

Customize it!

The template included in this project serves demonstration purpose only, it's up to you to integrate it into your graphic charter by creating a file in templates/popup/popup_plugin.html.

How it works

It's a classic djangocms-plugin, with all the stuff in admin.py, cms_plugins.py, cms_toolbars.py and models.py.

The "fun" part is in the template.

The child plugins will be rendered inside a div which have a visibility property (see MDN doc).

Then, a very dumb script (in vanilla javascript) will display the div with a delay using setTimeout, and will add an event listener on a small button (that will show/hide the popup when clicked).

If the option "Allow the popup to be reopened if it is closed", the small button will still be visible, even if you refresh the page.

The state of the popup is stored inside the localStorage (the id is popup_is_open_{{ instance.id }}), so a closed popup won't reopen at a page reload.

Warning! The plugin uses the visibility property! So if any of the plugins you put inside the popup have a visibilit: visible property it will be shown!

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-popup-1.0.2.tar.gz (20.1 kB view hashes)

Uploaded Source

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