Skip to main content

Django-CMS plugins for django-blog-zinnia

Project description

Cmsplugin-zinnia is a bridge between django-blog-zinnia and django-cms.

This package provides plugins, menus and apphook to integrate your Zinnia powered Weblog into your django-cms Web site.

The code bundled in this application is a copy of the original zinnia.plugins module, made for forward compatibility with django-blog-zinnia > 0.11.

Note

This is a fork of original cmsplugin-zinnia to be able to release an alternative package to fix compatibility issues with DjangoCMS>=3.4.

Installation

Once Zinnia and the CMS are installed, you simply have to register cmsplugin_zinnia, in the INSTALLED_APPS section of your project’s settings.

Entries with plugins

If you want to use the plugin system of django-cms in your entries, an extended Entry with a PlaceholderField is provided in this package.

Just add this line in your project’s settings to use it.

ZINNIA_ENTRY_BASE_MODEL = 'cmsplugin_zinnia.placeholder.EntryPlaceholder'

Note

You have to keep in mind that the default migrations bundled with Zinnia do not reflect the addition made by the EntryPlaceholder model.

A solution to initialize correctly the database can be:

$ python manage.py makemigrations
$ python manage.py migrate

Tips for using the apphook

If you want to use the apphook to provide the blog functionnalities under a specific URL handled by the CMS, remember this tip:

  • Once the apphook is registered, you can remove the inclusion of 'zinnia.urls' in urls.py and then restart the server to see it in full effect.

Settings

CMSPLUGIN_ZINNIA_APP_URLS

Default value: ['zinnia.urls']

The URLsets used for by the Zinnia AppHook.

CMSPLUGIN_ZINNIA_APP_MENUS

Default value:

['cmsplugin_zinnia.menu.EntryMenu',
 'cmsplugin_zinnia.menu.CategoryMenu',
 'cmsplugin_zinnia.menu.TagMenu',
 'cmsplugin_zinnia.menu.AuthorMenu']

List of strings representing the path to the Menu class provided by the Zinnia AppHook.

CMSPLUGIN_ZINNIA_HIDE_ENTRY_MENU

Default value: True

Boolean used for displaying or not the entries in the EntryMenu object.

CMSPLUGIN_ZINNIA_TEMPLATES

Default value: [] (Empty list)

List of tuple for extending the plugins rendering templates.

Example:

CMSPLUGIN_ZINNIA_TEMPLATES = [
  ('entry_custom.html', 'Entry custom'),
  ('entry_custom_bis.html', 'Entry custom bis')
  ]

CMSPLUGIN_ZINNIA_BASE_TEMPLATES

Default value:

[('cmsplugin_zinnia/entry_list.html', _('Entry list (default)')),
 ('cmsplugin_zinnia/entry_detail.html', _('Entry detailed')),
 ('cmsplugin_zinnia/entry_slider.html', _('Entry slider'))]

Available base templates, these are the shipped template from this application. Commonly you will prefer to use CMSPLUGIN_ZINNIA_TEMPLATES to add new templates.

CMSPLUGIN_ZINNIA_DEFAULT_TEMPLATE

Default value: None

Initial value for template_to_render field. If empty or undefined, initial value will be the first item of available template choices.

Changelog

0.8.2.4

Fixed compatibility with Django>=2.0. Validated as working with Django==2.1.8, django-cms==3.6.0 and django-blog-zinnia==0.20.

0.8.2.3

Fixed template_to_render field missing a default value that could result to broken page when no template was selected at plugin creation.

  • Past migrations have been modified to clean them from any hardcoded choices that triggered warning message about changed model needing new migration when you added new template choices;
  • Added data migration to fix plugins entries with empty value for template_to_render fields, they will be filled with defaut template;
  • template_to_render fields can no longer be empty, select input do not show anymore option for empty value;

Everything is backward compatible. After updating you will just need to perform migration for cmsplugin_zinnia app.

0.8.2.2

Fixed CMSLatestEntriesPlugin and CMSSelectedEntriesPlugin to use selected template to render instead of default plugin one.

0.8.2.1

Renamed cms_toolbar.py to cms_toolbars.py so Zinnia application appear again in CMS toolbar.

0.8.2

Fixed compatibility with DjangoCMS>=3.4:

0.8.1

  • Remove warnings with Django 1.9

0.8

  • Compatibility with Django 1.8

0.7

  • PlaceholderEntry mixin
  • Compatibility with Django 1.7 and Zinnia 0.15

0.6

  • Compatibility with Django-CMS 3.0

0.5.1

  • Python 3 compatibility fix
  • Better help texts and legends

0.5

  • Archives plugin
  • Tag cloud plugin
  • Author list plugin
  • Categories plugins
  • Featured entries filter
  • Offset for latest entries
  • Documentation improvements
  • Configurable apphook’s urls
  • Support custom auth.User model
  • Fix translations of the plugins
  • Fix HTML rendering without context
  • Compatibility with Django v1.5
  • Compatibility with Zinnia v0.13
  • Updating the buildout installation

0.4.1

  • Compatibility fix for Django-CMS 2.2+

0.4

  • Fix issues with Entry.content rendering.
  • Compatibility with latest version of Zinnia.

0.3

  • Calendar plugin.
  • QueryEntries plugin.
  • Slider template for plugins.
  • Documentation improvements.
  • Fix breadcrumbs with month abbrev.
  • Compatibility with Django 1.4 and Django-CMS 2.3.

0.2

  • Better demo.
  • Renaming modules.
  • Fix dependancies with mptt.
  • Fix EntryPlaceholder’s Meta.
  • 0 means all the entries on plugins.
  • Set menu Nodes to invisible instead of removing.

0.1

  • Initial release based on zinnia.plugins.

Project details


Download files

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

Files for emencia-cmsplugin-zinnia, version 0.8.2.4
Filename, size File type Python version Upload date Hashes
Filename, size emencia-cmsplugin-zinnia-0.8.2.4.tar.gz (30.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page