CMS fixes, anmeldung...
This commit is contained in:
@ -27,6 +27,7 @@ show_preview_links: false
|
||||
|
||||
collections:
|
||||
- name: "config"
|
||||
icon: "settings"
|
||||
label: "Konfiguration"
|
||||
description: "Hier können die Basiseinstellungen der Website geändert werden."
|
||||
editor:
|
||||
@ -41,7 +42,7 @@ collections:
|
||||
public_folder: "media/home"
|
||||
format: yml
|
||||
fields:
|
||||
- label: "Slider"
|
||||
- label: "Karusell"
|
||||
name: "slider"
|
||||
widget: "object"
|
||||
fields:
|
||||
@ -49,6 +50,7 @@ collections:
|
||||
- {label: "Hintergrundbild", name: "bg_image", widget: "image"}
|
||||
- {label: "Titel", name: "title", widget: "string"}
|
||||
- label: "Elemente"
|
||||
label_singular: "Element"
|
||||
name: "slider_item"
|
||||
widget: "list"
|
||||
fields:
|
||||
@ -257,14 +259,12 @@ collections:
|
||||
- {label: "Copyright-Hinweis", name: "copyright", widget: "string"}
|
||||
- {label: "Impressum-Link", name: "impressumURL", widget: "string"}
|
||||
- {label: "Datenschutz-Link", name: "dseURL", widget: "string"}
|
||||
|
||||
|
||||
|
||||
|
||||
- name: "pages-de"
|
||||
icon: "page"
|
||||
label: "Statische Seiten"
|
||||
editor:
|
||||
preview: true
|
||||
frame: false
|
||||
files:
|
||||
- name: "blog-index"
|
||||
label: "Blog"
|
||||
@ -287,12 +287,20 @@ collections:
|
||||
label: "Anmeldung"
|
||||
file: "content/german/anmeldung/_index.md"
|
||||
fields:
|
||||
- {label: "Titel", name: "title", widget: "string"}
|
||||
- {label: "Titel", name: "title", widget: "string", required: true}
|
||||
- {label: "Entwurf", name: "draft", widget: "boolean", default: "false", required: false}
|
||||
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.png"}
|
||||
- {label: "Bild", name: "image", widget: "image", default: "/media/image.png", required: false}
|
||||
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
|
||||
- {label: "Text", name: "body", widget: "markdown"}
|
||||
- label: "Elemente"
|
||||
label_singular: "Element"
|
||||
name: "elements"
|
||||
widget: "list"
|
||||
fields:
|
||||
- {label: "Titel", name: "title", widget: "string", required: true}
|
||||
- {label: "Text", name: "content", widget: "markdown", required: true}
|
||||
required: false
|
||||
- {label: "Text", name: "body", widget: "markdown", required: false}
|
||||
- name: "cantorpreis-index"
|
||||
label: "Cantor-Preis"
|
||||
file: "content/german/cantorpreis/_index.md"
|
||||
@ -319,18 +327,18 @@ collections:
|
||||
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.png"}
|
||||
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
|
||||
- label: Termine
|
||||
label_singular: " "
|
||||
label_singular: "Termin"
|
||||
name: "events"
|
||||
widget: "list"
|
||||
fields:
|
||||
- {label: "Titel", name: "title", widget: "string", required: true}
|
||||
- {label: "Datum/Startdatum", name: "date", widget: "datetime", required: true, date_format: "dd.MM.yyyy", time_format: "HH:mm"}
|
||||
- {label: "Enddatum", name: "enddate", widget: "datetime", required: false, date_format: "dd.MM.yyyy", time_format: "HH:mm", default: ""}
|
||||
- {label: "Datum/Startdatum", name: "date", widget: "datetime", required: true, date_format: "dd.MM.yyyy", time_format: false, format: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"}
|
||||
- {label: "Enddatum", name: "enddate", widget: "datetime", required: false, date_format: "dd.MM.yyyy", time_format: false, format: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", default: ""}
|
||||
- {label: "Ort", name: "location", widget: "string", required: true}
|
||||
- {label: "Beschreibung", name: "summary", widget: "string", required: false}
|
||||
required: false
|
||||
- name: "forms-index"
|
||||
label: "Formulare und Vorlagen"
|
||||
label: "Dokumente und Formulare"
|
||||
file: "content/german/forms/_index.md"
|
||||
fields:
|
||||
- {label: "Titel", name: "title", widget: "string"}
|
||||
@ -445,7 +453,7 @@ collections:
|
||||
- {label: "Text", name: "body", widget: "markdown", required: false}
|
||||
- name: "jia-index"
|
||||
label: "Junior-Ingenieur-Akademie"
|
||||
file: "content/german/schuelervertretung/index.md"
|
||||
file: "content/german/jia/index.md"
|
||||
fields:
|
||||
- {label: "Titel", name: "title", widget: "string"}
|
||||
- {label: "Entwurf", name: "draft", widget: "boolean", default: "false", required: false}
|
||||
@ -454,7 +462,8 @@ collections:
|
||||
- {label: "Type", name: "type", widget: "hidden", default: "pages"}
|
||||
- {label: "Type", name: "layout", widget: "hidden", default: "single.html"}
|
||||
- {label: "Text", name: "body", widget: "markdown", required: false}
|
||||
- name: "author-de" # Used in routes, e.g., /admin/collections/blog
|
||||
- name: "author-de"
|
||||
icon: "user"
|
||||
label: "Autoren" # Used in the UI
|
||||
label_singular: "Autoren"
|
||||
folder: "content/german/author" # The path to the folder where the documents are stored
|
||||
@ -494,6 +503,7 @@ collections:
|
||||
required: false
|
||||
- {label: "Beschreibung", name: "body", widget: "markdown"}
|
||||
- name: "blog-de"
|
||||
icon: "news"
|
||||
label: "Aktuelles"
|
||||
label_singular: "Blogbeitrag"
|
||||
folder: "content/german/blog"
|
||||
@ -506,7 +516,7 @@ collections:
|
||||
public_folder: '/media/blog'
|
||||
fields:
|
||||
- {label: "Titel", name: "title", widget: "string"}
|
||||
- {label: "Datum", name: "date", widget: "datetime", date_format: "dd.MM.yyyy", time_format: "HH:mm"}
|
||||
- {label: "Datum", name: "date", widget: "datetime", date_format: "dd/MM/yyyy", time_format: false}
|
||||
- {label: "Entwurf", name: "draft", widget: "boolean", default: false, required: false}
|
||||
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.png"}
|
||||
- {label: "Metabeschreibung", name: "description", widget: "text", default: "", required: false}
|
||||
@ -531,6 +541,7 @@ collections:
|
||||
- {label: "Type", name: "type", widget: "hidden", default: "post"}
|
||||
- {label: "Text", name: "body", widget: "markdown"}
|
||||
- name: "forms-de"
|
||||
icon: "document"
|
||||
label: "Dokumente"
|
||||
label_singular: "Dokument"
|
||||
description: "Hier sind Formulare, Vorlagen und andere Dokumente zu hinterlegen."
|
||||
@ -551,20 +562,8 @@ collections:
|
||||
- {label: "Bild", name: "image", widget: "image", default: "/media/image.png", required: false}
|
||||
- {label: "Type", name: "type", widget: "hidden", default: "forms"}
|
||||
- {label: "Text", name: "body", widget: "markdown"}
|
||||
- name: "anmeldung-de"
|
||||
label: "Anmeldung"
|
||||
label_singular: "Anmeldeinformation"
|
||||
folder: "content/german/anmeldung"
|
||||
filter: {field: "type", value: "anmeldung"}
|
||||
create: true
|
||||
editor:
|
||||
preview: false
|
||||
fields:
|
||||
- {label: "Titel", name: "title", widget: "string"}
|
||||
- {label: "Entwurf", name: "draft", widget: "boolean", default: false, required: false}
|
||||
- {label: "Type", name: "type", widget: "hidden", default: "anmeldung"}
|
||||
- {label: "Text", name: "body", widget: "markdown"}
|
||||
- name: "cantorpreis-de"
|
||||
icon: "award"
|
||||
label: "Cantor-Preisträger"
|
||||
label_singular: "Cantor-Preisträger"
|
||||
folder: "content/german/cantorpreis"
|
||||
@ -591,6 +590,7 @@ collections:
|
||||
- {label: "Type", name: "type", widget: "hidden", default: "cantorpreis"}
|
||||
- {label: "Text", name: "body", widget: "markdown"}
|
||||
- name: "ganztagsangebote-de"
|
||||
icon: "group"
|
||||
label: "Ganztagsangebote"
|
||||
label_singular: "Ganztagsangebot"
|
||||
folder: "content/german/ganztagsangebote"
|
||||
@ -618,6 +618,7 @@ collections:
|
||||
- {label: "Type", name: "type", widget: "hidden", default: "ganztagsangebote"}
|
||||
- {label: "Text", name: "body", widget: "markdown"}
|
||||
- name: "wettbewerbe-de"
|
||||
icon: "trophy"
|
||||
label: "Wettbewerbe"
|
||||
label_singular: "Wettbewerb"
|
||||
folder: "content/german/wettbewerbe"
|
||||
@ -639,6 +640,7 @@ collections:
|
||||
- {label: "Type", name: "type", widget: "hidden", default: "wettbewerbe"}
|
||||
- {label: "Text", name: "body", widget: "markdown"}
|
||||
- name: "begabtenfoerderung-de"
|
||||
icon: "book"
|
||||
label: "Begabtenförderung"
|
||||
label_singular: "Begabtenförderung"
|
||||
folder: "content/german/begabtenfoerderung"
|
||||
@ -660,6 +662,7 @@ collections:
|
||||
- {label: "Type", name: "type", widget: "hidden", default: "begabtenfoerderung"}
|
||||
- {label: "Text", name: "body", widget: "markdown"}
|
||||
- name: "schulchronik"
|
||||
icon: "timeline"
|
||||
label: "Schulchronik"
|
||||
label_singular: "Chronikjahr"
|
||||
folder: "content/german/schulchronik"
|
||||
@ -677,6 +680,7 @@ collections:
|
||||
- {label: "Type", name: "type", widget: "hidden", default: "schulchronik"}
|
||||
- {label: "Text", name: "body", widget: "markdown"}
|
||||
- name: "abiturienten"
|
||||
icon: "graduation-cap"
|
||||
label: "Abiturienten"
|
||||
label_singular: "Abiturjahrgang"
|
||||
folder: "content/german/abiturienten"
|
||||
|
@ -3,13 +3,41 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="stylesheet" href="https://cantorgymnasium.de/plugins/fontawesome/css/all.css">
|
||||
<title>Content Manager</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Include the script that builds the page and powers Static CMS -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/@staticcms/core@next/dist/static-cms-core.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@staticcms/core@1.0.0-beta1/dist/static-cms-core.min.js"></script>
|
||||
<script>
|
||||
window.CMS.init();
|
||||
CMS.registerIcon('home', ({}) => { return(h('i', {"className": "fa fa-house"})); });
|
||||
CMS.registerIcon('settings', ({}) => { return(h('i', {"className": "fa fa-gear"})); });
|
||||
CMS.registerIcon('user', ({}) => { return(h('i', {"className": "fa fa-user"})); });
|
||||
CMS.registerIcon('page', ({}) => { return(h('i', {"className": "fa fa-file"})); });
|
||||
CMS.registerIcon('document', ({}) => { return(h('i', {"className": "fa fa-file-lines"})); });
|
||||
CMS.registerIcon('news', ({}) => { return(h('i', {"className": "fa fa-newspaper"})); });
|
||||
CMS.registerIcon('award', ({}) => { return(h('i', {"className": "fa fa-award"})); });
|
||||
CMS.registerIcon('group', ({}) => { return(h('i', {"className": "fa fa-people-group"})); });
|
||||
CMS.registerIcon('trophy', ({}) => { return(h('i', {"className": "fa fa-trophy"})); });
|
||||
CMS.registerIcon('book', ({}) => { return(h('i', {"className": "fa fa-book"})); });
|
||||
CMS.registerIcon('timeline', ({}) => { return(h('i', {"className": "fa fa-timeline"})); });
|
||||
CMS.registerIcon('graduation-cap', ({}) => { return(h('i', {"className": "fa fa-graduation-cap"})); });
|
||||
CMS.registerIcon('info', ({}) => { return(h('i', {"className": "fa fa-circle-info"})); });
|
||||
const CustomPage = () => {
|
||||
return h('div', {}, 'I am a custom page!');
|
||||
};
|
||||
|
||||
CMS.registerAdditionalLink({
|
||||
id: 'info',
|
||||
title: 'Informationen',
|
||||
data: CustomPage,
|
||||
options: {
|
||||
icon: 'info',
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
<script>
|
||||
CMS.registerPreviewStyle("https://cantorgymnasium.de/plugins/bootstrap/bootstrap.min.css");
|
||||
@ -53,11 +81,7 @@ CMS.registerPreviewTemplate("schulchronik", ChronikPreview);
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var PostPreviewContent = createClass({
|
||||
render: function() {
|
||||
var entry = this.props.entry;
|
||||
var image = entry.getIn(['data', 'image']);
|
||||
var bg = this.props.getAsset(image);
|
||||
var PostPreviewContent = ({widgetFor, entry}) => {
|
||||
const divStyle = {
|
||||
backgroundImage: 'url("/media/backgrounds/page-title.png"),url("/media/backgrounds/page-title.png")',
|
||||
};
|
||||
@ -66,11 +90,13 @@ var PostPreviewContent = createClass({
|
||||
h('div', {"className": "container"},
|
||||
h('div', {"className": "col-md-8"},
|
||||
h('ul', {"className": "list-inline custom-breadcrumb"},
|
||||
h('li', {"className": "list-inline-item h1"},
|
||||
h('a', {"className": "text-primary font-secondary", href: ""}, "Schulchronik")),
|
||||
h('li', {"className": "list-inline-item ha"},
|
||||
h('li', {"className": "list-inline-item h2"},
|
||||
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")),
|
||||
h('li', {"className": "list-inline-item h2"},
|
||||
h("i", {"className": "fa-solid fa-angle-right text-white"})),
|
||||
h('li', {"className": "list-inline-item text-white h1 font-secondary"}, entry.getIn(['data', 'title']))
|
||||
h('li', {"className": "list-inline-item text-white h2 font-secondary"}, entry.data.title)
|
||||
),
|
||||
h('p', {"className": "text-lighten"}, entry.data.description
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -79,26 +105,81 @@ var PostPreviewContent = createClass({
|
||||
h('div', {"className": "container"},
|
||||
h('div', {"className": "row"},
|
||||
h('div', {"className": "col-12 mb-4"},
|
||||
h('div', {"className": "content"}, this.props.widgetFor('body'))
|
||||
h('div', {"className": "content"}, widgetFor('body'))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
CMS.registerPreviewTemplate("anmeldung-index", PostPreviewContent);
|
||||
CMS.registerPreviewTemplate("impressum", PostPreviewContent);
|
||||
CMS.registerPreviewTemplate("datenschutz", PostPreviewContent);
|
||||
CMS.registerPreviewTemplate("schuelerrat-geschaeftsordnung", PostPreviewContent);
|
||||
CMS.registerPreviewTemplate("schuelervertretung-index", PostPreviewContent);
|
||||
CMS.registerPreviewTemplate("elternvertretung-index", PostPreviewContent);
|
||||
CMS.registerPreviewTemplate("jia-index", PostPreviewContent);
|
||||
CMS.registerPreviewTemplate("bibo", PostPreviewContent);
|
||||
CMS.registerPreviewTemplate("abiturienten", PostPreviewContent);
|
||||
CMS.registerPreviewTemplate("cantorfora", PostPreviewContent);
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var EventPreview = createClass({
|
||||
render: function() {
|
||||
var entry = this.props.entry;
|
||||
var image = entry.getIn(['data', 'image']);
|
||||
var bg = this.props.getAsset(image);
|
||||
var AnmeldungPreviewContent = ({widgetsFor, widgetFor, entry}) => {
|
||||
const divStyle = {
|
||||
backgroundImage: 'url("/media/backgrounds/page-title.png"),url("/media/backgrounds/page-title.png")',
|
||||
};
|
||||
return h('div', {},
|
||||
h('section', {"className": "page-title-section overlay", "style": divStyle},
|
||||
h('div', {"className": "container"},
|
||||
h('div', {"className": "col-md-8"},
|
||||
h('ul', {"className": "list-inline custom-breadcrumb"},
|
||||
h('li', {"className": "list-inline-item h2"},
|
||||
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")),
|
||||
h('li', {"className": "list-inline-item h2"},
|
||||
h("i", {"className": "fa-solid fa-angle-right text-white"})),
|
||||
h('li', {"className": "list-inline-item text-white h2 font-secondary"}, entry.data.title)
|
||||
),
|
||||
h('p', {"className": "text-lighten"}, entry.data.description
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
h('section', {"className": "section-sm"},
|
||||
h('div', {"className": "container"},
|
||||
h('div', {"className": "row mb-5"},
|
||||
h('div', {"className": "col-md-6 content"},
|
||||
widgetFor('body')
|
||||
)
|
||||
),
|
||||
h('div', {"className": "row"},
|
||||
widgetsFor('elements').map(function(element, index) {
|
||||
return h('div', {"className": "col-lg-4 col-sm-6 mb-4"},
|
||||
h('div', {"className": "card rounded-0 hover-shadow border-top-0 border-left-0 border-right-0"},
|
||||
h('div', {"className": "card-body"},
|
||||
h('h4', {"className": "card-title mb-3"},
|
||||
element.data.title
|
||||
),
|
||||
h('div', {"className": "content"},
|
||||
element.widgets.content
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
})
|
||||
)
|
||||
)
|
||||
),
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
CMS.registerPreviewTemplate("anmeldung-index", AnmeldungPreviewContent);
|
||||
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var EventPreview = ({widgetsFor, entry}) => {
|
||||
const divStyle = {
|
||||
backgroundImage: 'url("/media/backgrounds/page-title.png"),url("/media/backgrounds/page-title.png")',
|
||||
};
|
||||
@ -114,10 +195,10 @@ var EventPreview = createClass({
|
||||
h('li', {"className": "list-inline-item ha"},
|
||||
h("i", {"className": "fa-solid fa-angle-right text-white"})
|
||||
),
|
||||
h('li', {"className": "list-inline-item text-white h1 font-secondary"}, entry.getIn(['data', 'title'])
|
||||
h('li', {"className": "list-inline-item text-white h1 font-secondary"}, entry.data.title
|
||||
)
|
||||
),
|
||||
h('p', {"className": "text-lighten"}, entry.getIn(['data', 'description']))
|
||||
h('p', {"className": "text-lighten"}, entry.data.description)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -127,20 +208,21 @@ var EventPreview = createClass({
|
||||
h('div', {"className": "row"},
|
||||
h('div', {"className": "col-12 "},
|
||||
h('ul', {"className": "list-unstyled"},
|
||||
this.props.widgetsFor('events').map(function(event, index) {
|
||||
widgetsFor('events').map(function(event, index) {
|
||||
console.log(event.data.date);
|
||||
return h('li', {"className": "d-md-table mb-4 w-100 border-bottom hover-shadow"},
|
||||
h('div', {"className": "d-md-table-cell text-center p-4 bg-primary text-white mb-4 mb-md-0"},
|
||||
h('span', {"className": "h2 d-block"}, new Intl.DateTimeFormat('de-De', { day: 'numeric'}).format(event.getIn(['data', 'date']))),
|
||||
new Intl.DateTimeFormat('de-De', { month: 'short', year: 'numeric' }).format(event.getIn(['data', 'date']))
|
||||
h('span', {"className": "h2 d-block"}, new Intl.DateTimeFormat('de-De', { day: 'numeric'}).format(new Date(event.data.date))),
|
||||
new Intl.DateTimeFormat('de-De', { month: 'short', year: 'numeric' }).format(new Date(event.data.date))
|
||||
),
|
||||
h('div', {"className": "d-md-table-cell px-4 vertical-alighn-middle mb-4 mb-md-0"},
|
||||
h('p', {"className": "h4 mb-3 d-block"}, event.getIn(['data', 'title'])),
|
||||
h('p', {"className": "mb-0"}, event.getIn(['data', 'summary']))
|
||||
h('p', {"className": "h4 mb-3 d-block"}, event.data.title),
|
||||
h('p', {"className": "mb-0"}, event.data.summary)
|
||||
),
|
||||
h('div', {"className": "d-md-table-cell text-right pr-0 pr-md-4"},
|
||||
h('p', {},
|
||||
h('i', {"className": "fa-solid fa-location-dot text-primary mr-2"}),
|
||||
event.getIn(['data', 'location'])
|
||||
event.data.location
|
||||
)
|
||||
)
|
||||
);
|
||||
@ -151,18 +233,13 @@ var EventPreview = createClass({
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
CMS.registerPreviewTemplate("event-index", EventPreview);
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var PagePreview = createClass({
|
||||
render: function() {
|
||||
var entry = this.props.entry;
|
||||
var image = entry.getIn(['data', 'image']);
|
||||
var bg = this.props.getAsset(image);
|
||||
var PagePreview = ({widgetFor, entry}) => {
|
||||
const divStyle = {
|
||||
backgroundImage: 'url("/media/backgrounds/page-title.png"),url("/media/backgrounds/page-title.png")',
|
||||
};
|
||||
@ -172,23 +249,22 @@ var PagePreview = createClass({
|
||||
h('div', {"className": "container"},
|
||||
h('div', {"className": "col-md-8"},
|
||||
h('ul', {"className": "list-inline custom-breadcrumb"},
|
||||
h('li', {"className": "list-inline-item h1"},
|
||||
h('li', {"className": "list-inline-item h2"},
|
||||
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")
|
||||
),
|
||||
h('li', {"className": "list-inline-item ha"},
|
||||
h('li', {"className": "list-inline-item h2"},
|
||||
h("i", {"className": "fa-solid fa-angle-right text-white"})
|
||||
),
|
||||
h('li', {"className": "list-inline-item text-white h1 font-secondary"}, entry.getIn(['data', 'title'])
|
||||
h('li', {"className": "list-inline-item text-white h2 font-secondary"}, entry.data.title
|
||||
)
|
||||
),
|
||||
h('p', {"className": "text-lighten"}, entry.getIn(['data', 'description']))
|
||||
h('p', {"className": "text-lighten"}, entry.data.description)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
CMS.registerPreviewTemplate("blog-index", PagePreview);
|
||||
CMS.registerPreviewTemplate("cantorpreis-index", PagePreview);
|
||||
@ -196,14 +272,31 @@ CMS.registerPreviewTemplate("contact-index", PagePreview);
|
||||
CMS.registerPreviewTemplate("forms-index", PagePreview);
|
||||
CMS.registerPreviewTemplate("ganztagsangebote-index", PagePreview);
|
||||
CMS.registerPreviewTemplate("wettbewerbe-index", PagePreview);
|
||||
CMS.registerPreviewTemplate("begabtenfoerderung-index", PagePreview);
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var PagePreviewImage = createClass({
|
||||
render: function() {
|
||||
var entry = this.props.entry;
|
||||
var image = entry.getIn(['data', 'image']);
|
||||
var bg = this.props.getAsset(image);
|
||||
var PagePreviewImage = ({ widgetFor, getAsset, entry}) => {
|
||||
const [imageUrl, setImageUrl] = useState('');
|
||||
const image = useMemo(() => entry.data.image, [entry.data.image]);
|
||||
|
||||
useEffect(() => {
|
||||
let alive = true;
|
||||
|
||||
const loadImage = async () => {
|
||||
const imageAsset = await getAsset(image);
|
||||
if (alive) {
|
||||
setImageUrl(imageAsset.toString());
|
||||
}
|
||||
};
|
||||
|
||||
loadImage();
|
||||
|
||||
return () => {
|
||||
alive = false;
|
||||
};
|
||||
}, [image]);
|
||||
|
||||
const divStyle = {
|
||||
backgroundImage: 'url("/media/backgrounds/page-title.png"),url("/media/backgrounds/page-title.png")',
|
||||
};
|
||||
@ -213,17 +306,17 @@ var PagePreviewImage = createClass({
|
||||
h('div', {"className": "container"},
|
||||
h('div', {"className": "col-md-8"},
|
||||
h('ul', {"className": "list-inline custom-breadcrumb"},
|
||||
h('li', {"className": "list-inline-item h1"},
|
||||
h('li', {"className": "list-inline-item h2"},
|
||||
h('a', {"className": "text-primary font-secondary", href: ""}, "Startseite")
|
||||
),
|
||||
h('li', {"className": "list-inline-item ha"},
|
||||
h('li', {"className": "list-inline-item h2"},
|
||||
h("i", {"className": "fa-solid fa-angle-right text-white"})
|
||||
),
|
||||
h('li', {"className": "list-inline-item text-white h1 font-secondary"}, entry.getIn(['data', 'title'])
|
||||
h('li', {"className": "list-inline-item text-white h2 font-secondary"}, entry.data.title
|
||||
)
|
||||
),
|
||||
h('p', {"className": "text-lighten"}, entry.getIn(['data', 'description']))
|
||||
)
|
||||
h('p', {"className": "text-lighten"}, entry.data.description
|
||||
))
|
||||
)
|
||||
)
|
||||
),
|
||||
@ -231,14 +324,13 @@ var PagePreviewImage = createClass({
|
||||
h('div', {"className": "container"},
|
||||
h('div', {"className": "row"},
|
||||
h('div', {"className": "col-12 mb-4"},
|
||||
h('img', {"className": "img-fluid w-100 mb-4", src: bg.toString(), alt: "about image"}),
|
||||
this.props.widgetFor('body'))
|
||||
h('img', {"className": "img-fluid w-100 mb-4", src: imageUrl}),
|
||||
widgetFor('body'))
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
CMS.registerPreviewTemplate("about-index", PagePreviewImage);
|
||||
|
||||
|
Reference in New Issue
Block a user