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_APPSsetting. - Add
FEINCMS_GRID_TOTAL_COLUMNSto 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:
