wagtail-birdsong/README.md

65 lines
1.4 KiB
Markdown
Raw Normal View History

2020-03-04 23:11:39 +00:00
# Example
Add the following to your installed apps:
```
'mjml',
'wagtailbirdsong',
```
Make a new app eg `email` and create a file called `models.py` with the following:
```
from django.db import models
from wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel
from wagtail.core.fields import StreamField
from wagtailbirdsong.blocks import DefaultBlocks
from wagtailbirdsong.models import BaseEmail
class SaleEmail(BaseEmail):
subject = models.TextField()
body = StreamField(DefaultBlocks())
panels = [
FieldPanel('subject'),
StreamFieldPanel('body'),
]
```
In your `wagtail_hooks.py` add something like:
```
from wagtail.contrib.modeladmin.options import modeladmin_register
from wagtailbirdsong.options import CustomModelAdmin
from .models import SaleEmail
@modeladmin_register
class SaleEmailAdmin(CustomModelAdmin):
model = SaleEmail
menu_label = 'SaleEmail'
menu_icon = 'pilcrow'
menu_order = 200
```
Create your email template in `{app_folder}/templates/{app_name}/mail/{model_name}.html` eg `email/templates/email/mail/sale_email.html`:
```
{% extends "wagtailbirdsong/mail/base_email.html" %}
{% block email_body %}
<mj-section>
<mj-column>
<mj-text>Hello world! {{ self.subject }}</mj-text>
{% for b in self.body %}
<mj-text>{{ b }}</mj-text>
{% endfor %}
</mj-column>
</mj-section>
{% endblock email_body %}
```