Skip to content

Commit c0cd8f0

Browse files
committed
Added Site Settings (Social Media Footer Settings)
1 parent e280dfa commit c0cd8f0

File tree

7 files changed

+84
-4
lines changed

7 files changed

+84
-4
lines changed

mysite/settings/base.py

+3
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,11 @@
2828
'search',
2929
'flex',
3030
'streams',
31+
'site_settings',
3132

3233
'wagtail.contrib.forms',
3334
'wagtail.contrib.redirects',
35+
'wagtail.contrib.settings',
3436
'wagtail.embeds',
3537
'wagtail.sites',
3638
'wagtail.users',
@@ -80,6 +82,7 @@
8082
'django.template.context_processors.request',
8183
'django.contrib.auth.context_processors.auth',
8284
'django.contrib.messages.context_processors.messages',
85+
'wagtail.contrib.settings.context_processors.settings',
8386
],
8487
},
8588
},

mysite/templates/base.html

+27-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<html class="no-js" lang="en">
55
<head>
66
<meta charset="utf-8" />
7-
<title>
7+
<title>
88
{% block title %}
99
{% if self.seo_title %}{{ self.seo_title }}{% else %}{{ self.title }}{% endif %}
1010
{% endblock %}
@@ -18,6 +18,7 @@
1818
<meta name="viewport" content="width=device-width, initial-scale=1" />
1919

2020
{# Global stylesheets #}
21+
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
2122
<link rel="stylesheet" href="https://bootswatch.com/4/superhero/bootstrap.min.css" crossorigin="anonymous">
2223
<link rel="stylesheet" type="text/css" href="{% static 'css/mysite.css' %}">
2324

@@ -34,9 +35,9 @@
3435
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor01" aria-controls="navbarColor01" aria-expanded="false" aria-label="Toggle navigation">
3536
<span class="navbar-toggler-icon"></span>
3637
</button>
37-
38+
3839
<div class="collapse navbar-collapse" id="navbarColor01">
39-
<!--
40+
<!--
4041
<ul class="navbar-nav mr-auto">
4142
<li class="nav-item active">
4243
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
@@ -62,12 +63,34 @@
6263

6364
{% block content %}{% endblock %}
6465

66+
<div class="container">
67+
<div class="row">
68+
<div class="col-lg-12 text-center">
69+
{% if settings.site_settings.SocialMediaSettings.facebook %}
70+
<a href="{{ settings.site_settings.SocialMediaSettings.facebook }}">
71+
<i class="fab fa-facebook-f"></i>
72+
</a>
73+
{% endif %}
74+
{% if settings.site_settings.SocialMediaSettings.twitter %}
75+
<a href="{{ settings.site_settings.SocialMediaSettings.twitter }}">
76+
<i class="fab fa-twitter"></i>
77+
</a>
78+
{% endif %}
79+
{% if settings.site_settings.SocialMediaSettings.youtube %}
80+
<a href="{{ settings.site_settings.SocialMediaSettings.youtube }}">
81+
<i class="fab fa-youtube"></i>
82+
</a>
83+
{% endif %}
84+
</div>
85+
</div>
86+
</div>
87+
6588
{# Global javascript #}
6689
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
6790
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
6891
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
6992
<script type="text/javascript" src="{% static 'js/mysite.js' %}"></script>
70-
93+
7194
{% block extra_js %}
7295
{# Override this in templates to add extra javascript #}
7396
{% endblock %}

site_settings/__init__.py

Whitespace-only changes.

site_settings/apps.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from django.apps import AppConfig
2+
3+
4+
class SiteSettingsConfig(AppConfig):
5+
name = 'site_settings'
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Generated by Django 2.1.5 on 2019-02-07 15:22
2+
3+
from django.db import migrations, models
4+
import django.db.models.deletion
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
initial = True
10+
11+
dependencies = [
12+
('wagtailcore', '0041_group_collection_permissions_verbose_name_plural'),
13+
]
14+
15+
operations = [
16+
migrations.CreateModel(
17+
name='SocialMediaSettings',
18+
fields=[
19+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20+
('facebook', models.URLField(blank=True, help_text='Facebook URL', null=True)),
21+
('twitter', models.URLField(blank=True, help_text='Twitter URL', null=True)),
22+
('youtube', models.URLField(blank=True, help_text='YouTube Channel URL', null=True)),
23+
('site', models.OneToOneField(editable=False, on_delete=django.db.models.deletion.CASCADE, to='wagtailcore.Site')),
24+
],
25+
options={
26+
'abstract': False,
27+
},
28+
),
29+
]

site_settings/migrations/__init__.py

Whitespace-only changes.

site_settings/models.py

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from django.db import models
2+
3+
from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel
4+
from wagtail.contrib.settings.models import BaseSetting, register_setting
5+
6+
@register_setting
7+
class SocialMediaSettings(BaseSetting):
8+
"""Social media settings for our custom website."""
9+
10+
facebook = models.URLField(blank=True, null=True, help_text="Facebook URL")
11+
twitter = models.URLField(blank=True, null=True, help_text="Twitter URL")
12+
youtube = models.URLField(blank=True, null=True, help_text="YouTube Channel URL")
13+
14+
panels = [
15+
MultiFieldPanel([
16+
FieldPanel("facebook"),
17+
FieldPanel("twitter"),
18+
FieldPanel("youtube"),
19+
], heading="Social Media Settings")
20+
]

0 commit comments

Comments
 (0)