5. Plugins reference
5.1. File
Allows you to upload a file. A filetype icon will be assigned based on the file extension.
For installation be sure you have the following in the INSTALLED_APPS
setting in your project’s settings.py
file:
INSTALLED_APPS = (
# ...
'cms.plugins.file',
# ...
)
You should take care that the directory defined by the configuration setting CMS_PAGE_MEDIA_PATH
(by default cms_page_media/
relative to MEDIA_ROOT
) is writable by the user under which django will be running.
You might consider using django-filer with django CMS plugin and its cmsplugin_filer_file
component instead.
Warning
The builtin file plugin only works with local storages. If you need more advanced solutions, please look at alternative file plugins for the django CMS, such as django-filer.
5.2. Flash
Allows you to upload and display a Flash SWF file on your page.
For installation be sure you have the following in the INSTALLED_APPS
setting in your project’s settings.py
file:
INSTALLED_APPS = (
# ...
'cms.plugins.flash',
# ...
)
5.3. GoogleMap
Displays a map of an address on your page.
Both address and coordinates are supported to center the map; zoom level and route planner can be set when adding/editing plugin in the admin.
New in version 2.3.2: width/height parameter has been added, so it’s no longer required to set plugin container size in CSS or template.
Changed in version 2.3.2: Zoom level is set via a select field which ensure only legal values are used.
Note
Due to the above change, level field is now marked as NOT NULL, and a datamigration has been introduced to modify existing googlemap plugin instance to set the default value if level if is NULL.
For installation be sure you have the following in the INSTALLED_APPS
setting in your project’s settings.py
file:
INSTALLED_APPS = (
# ...
'cms.plugins.googlemap',
# ...
)
5.4. Link
Displays a link to an arbitrary URL or to a page. If a page is moved the URL will still be correct.
For installation be sure to have the following in the INSTALLED_APPS
setting in your project’s settings.py
file:
INSTALLED_APPS = (
# ...
'cms.plugins.link',
# ...
)
Note
As of version 2.2, the link plugin no longer verifies the existence of link targets.
5.5. Picture
Displays a picture in a page.
For installation be sure you have the following in the INSTALLED_APPS
setting in your project’s settings.py
file:
INSTALLED_APPS = (
# ...
'cms.plugins.picture',
# ...
)
There are several solutions for Python and Django out there to automatically resize your pictures, you can find some on Django Packages and compare them there.
In your project template directory create a folder called cms/plugins
and in it create a file called picture.html
. Here is an example picture.html
template using easy-thumbnails:
{% load thumbnail %}
{% if link %}<a href="{{ link }}">{% endif %}
{% if placeholder == "content" %}
<img src="{% thumbnail picture.image 300x600 %}"{% if picture.alt %} alt="{{ picture.alt }}"{% endif %} />
{% else %}
{% if placeholder == "teaser" %}
<img src="{% thumbnail picture.image 150x150 %}"{% if picture.alt %} alt="{{ picture.alt }}"{% endif %} />
{% endif %}
{% endif %}
{% if link %}</a>{% endif %}
In this template the picture is scaled differently based on which placeholder it was placed in.
You should take care that the directory defined by the configuration setting CMS_PAGE_MEDIA_PATH
(by default cms_page_media/
relative to MEDIA_ROOT
) is writable by the user under which django will be running.
Note
In order to improve clarity, some Picture fields have been omitted in the example template code.
Note
For more advanced use cases where you would like to upload your media to a central location, consider using django-filer with django CMS plugin and its cmsplugin_filer_image
component instead.
5.6. Snippet
Renders an HTML snippet from an HTML file in your templates directories or a snippet given via direct input.
For installation be sure you have the following in the INSTALLED_APPS
setting in your project’s settings.py
file:
INSTALLED_APPS = (
# ...
'cms.plugins.snippet',
# ...
)
Note
This plugin should mainly be used during development to quickly test HTML snippets.
Warning
This plugin is a potential security hazard, since it allows admins to place custom JavaScript on pages. This may allow administrators with the right to add snippets to elevate their privileges to superusers. This plugin should only be used during the initial development phase for rapid prototyping and should be disabled on production sites.
5.7. Teaser
Displays a teaser box for another page or a URL. A picture and a description can be added.
For installation be sure you have the following in the INSTALLED_APPS
settings in your project’s settings.py
file:
INSTALLED_APPS = (
# ...
'cms.plugins.teaser',
# ...
)
You should take care that the directory defined by the configuration setting CMS_PAGE_MEDIA_PATH
(by default cms_page_media/
relative to MEDIA_ROOT
) is writable by the user under which django will be running.
Note
For more advanced use cases where you would like to upload your media to a central location, consider using django-filer with django CMS plugin and its cmsplugin_filer_video
component instead.
5.8. Text
Displays text. If plugins are text-enabled they can be placed inside the text-flow. At this moment the following core plugins are text-enabled:
cms.plugins.link
cms.plugins.picture
cms.plugins.file
cms.plugins.snippet
The current editor is Wymeditor. If you want to use TinyMce you need to install django-tinymce. If tinymce
is in your INSTALLED_APPS
it will be automatically enabled. If you have tinymce installed but don’t want to use it in the cms put the following in your settings.py
:
CMS_USE_TINYMCE = False
Note
When using django-tinymce, you also need to configure it. See the django-tinymce docs for more information.
For installation be sure you have the following in your project’s INSTALLED_APPS
setting:
INSTALLED_APPS = (
# ...
'cms.plugins.text',
# ...
)
5.9. Video
Plays Video Files or Youtube / Vimeo Videos. Uses the OSFlashVideoPlayer. When uploading videos use either .flv files or h264 encoded video files.
For installation be sure you have the following in your project’s INSTALLED_APPS
setting:
INSTALLED_APPS = (
# ...
'cms.plugins.video',
# ...
)
There are some settings you can set in your settings.py to overwrite some default behavior:
VIDEO_AUTOPLAY
((default:False
)VIDEO_AUTOHIDE
(default:False
)VIDEO_FULLSCREEN
(default:True
)VIDEO_LOOP
(default:False
)VIDEO_AUTOPLAY
(default:False
)VIDEO_BG_COLOR
(default:"000000"
)VIDEO_TEXT_COLOR
(default:"FFFFFF"
)VIDEO_SEEKBAR_COLOR
(default:"13ABEC"
)VIDEO_SEEKBARBG_COLOR
(default:"333333"
)VIDEO_LOADINGBAR_COLOR
(default:"828282"
)VIDEO_BUTTON_OUT_COLOR
(default:"333333"
)VIDEO_BUTTON_OVER_COLOR
(default:"000000"
)VIDEO_BUTTON_HIGHLIGHT_COLOR
(default:"FFFFFF"
)
You should take care that the directory defined by the configuration setting CMS_PAGE_MEDIA_PATH
(by default cms_page_media/
relative to MEDIA_ROOT
) is writable by the user under which django will be running.
Note
For more advanced use cases where you would like to upload your media to a central location, consider using django-filer with django CMS plugin and its cmsplugin_filer_video
component instead.
5.10. Twitter
Display’s a number of a twitter user’s latest posts.
For installation be sure you have the following in your project’s INSTALLED_APPS
setting:
INSTALLED_APPS = (
# ...
'cms.plugins.twitter',
# ...
)
Note
Since avatars are not guaranteed to be available over SSL (HTTPS), by default the Twitter plugin does not use avatars on secure sites.
5.11. Inherit
Displays all plugins of another page or another language. Great if you always need the same plugins on a lot of pages.
For installation be sure you have the following in your project’s INSTALLED_APPS
setting:
INSTALLED_APPS = (
# ...
'cms.plugins.inherit',
# ...
)
Warning
The inherit plugin is currently the only core-plugin which cannot be used in non-cms placeholders.