FeinCMS Grid
An app that integrates Foundation grid with FeinCMS contenttypes. Currently only for Foundation, but other frameworks grid syntax is so similar, I'll likely expand this to handle multiple grid systems later.
###Installation
- Install Foundation 5 and be sure it is working properly before getting into this package.
- Run
pip install feincms-grid
. - Add
'feincms_grid'
to yourINSTALLED_APPS
setting. - Add
FEINCMS_GRID_TOTAL_COLUMNS
to your settings if you want to override the total column amount (default is 12).
###Configuration
#####Content types
Just subclass GridContent
when creating a content type:
from feincms_grid.models import GridContent
class RawTextContent(GridContent):
content = models.TextField()
class Meta:
abstract = True
If you want to change the render
method of the content type, be sure to call the super
method to have the content wrapped with the tags:
from feincms_grid.models import GridContent
class MarkdownContent(GridContent):
content = models.TextField()
class Meta:
abstract = True
verbose_name = 'Markdown Text'
def render(self, *args, **kwargs):
t = Template(self.content)
c = Context({})
rendered = t.render(c)
rendered = markdown.markdown(rendered)
self.content = mark_safe(rendered)
return super(MarkdownContent, self).render(*args, **kwargs)
#####Templates
Use the feincms_grid_render_region
tag to render regions in your templates.
{% extends 'base.html' %}
{% load feincms_page_tags feincms_grid_tags %}
{% block content %}
{% feincms_grid_render_region feincms_page "main" request %}
{% endblock %}
###Usage
Any content types which are subclasses of GridContent
will have an extra dropdown at the top of them: