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
.
Once Zinnia and the CMS are installed, you simply have to register
cmsplugin_zinnia
, in the INSTALLED_APPS
section of your
project's settings.
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
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'
inurls.py
and then restart the server to see it in full effect.
Default value: ['zinnia.urls']
The URLsets used for by the Zinnia AppHook.
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.
Default value: True
Boolean used for displaying or not the entries in the EntryMenu
object.
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') ]
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.
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.
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
.
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.
Fixed CMSLatestEntriesPlugin
and CMSSelectedEntriesPlugin
to use
selected template to render instead of default plugin one.
Renamed cms_toolbar.py
to cms_toolbars.py
so Zinnia application appear again in CMS toolbar.
Fixed compatibility with DjangoCMS>=3.4
:
- Merged pull request #64;
- Merged pull request #65;
- Remove warnings with Django 1.9
- Compatibility with Django 1.8
- PlaceholderEntry mixin
- Compatibility with Django 1.7 and Zinnia 0.15
- Compatibility with Django-CMS 3.0
- Python 3 compatibility fix
- Better help texts and legends
- 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
- Compatibility fix for Django-CMS 2.2+
- Fix issues with Entry.content rendering.
- Compatibility with latest version of Zinnia.
- 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.
- 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.
- Initial release based on
zinnia.plugins
.