It is a simple plugin that allows you to organize you article pages in a manner of a blog. It does not break original page publishing workflow, but has some tricks to gather articles into a blog app.
It works fine and tested under Python 2.7
. The following libraries are required
Django
>= 1.5django-cms
>= 3.0 (we recommend to use Django CMS 3.0 and higher, contact us if you need prior CMS versions supports and have some issues)
$ pip install cmsplugin-articles
Configure installed apps in your settings.py
:
INSTALLED_APPS = [
# django contrib and django cms apps
'cmsplugin_articles',
]
Migrate your database :
django-admin.py migrate cmsplugin_articles
- Create a page in a common way, it will be a root page, an articles list;
- Add
ArticlesPlugin
to the page to you content placeholder, this will show a list of published articles; - Create an article page as a child page, it will be shown automatocally in the list.
You can customize this plugin by overriding the following templates
cms/plugins/articles.html
(plugin template layout)cms/plugins/article_teaser.html
(if you want to change teaser template, e.g. use easy-thumbnails for teaser images)cms/plugins/articles_pagination.html
(pagination templates, if you want to add extra css classes or so)
The plugin has a number of temlatetags used for teaser template, you should load them in your template with
{% load article_tags %}
Filters which get article Page
instance as an argument
published_at
returndatetime
object for publication timeteaser_title
return teaser title as a stringteaser_image
returnTeaserExtension.image
if exists
A simple_tag
which returns a teaser text. It accepts two parameters
article_page
the page that teaser belongs todefault_from
the placeholder name. You can pass it if you want generate teasers automaticaly
You can use this template tag to split articles list into a column layout, e.g
<div class="row">
{% exact_columns articles 3 "vertical" as columns %}
{% for column in columns %}
<div class="col_6">
{% for article in column %}
{% include "cms/plugins/article_teaser.html" %}
{% endfor %}
</div>
{% endfor %}
</div>
- Python 3 support
The changelog can be found at repo's release notes
Fork the repo, create a feature branch then send me pull request. Feel free to create new issues or contact me via email.
You could also help me to translate cmsplugin-articles to your native language with Transifex