...
Codeblock |
---|
language | php |
---|
title | Beispiel: "Text / Bild" |
---|
|
public function tile($viewID)
{
$paragraph = new FrameworkStyleguide\Entity\FrameworkParagraph();
$paragraph->content = new FrameworkStyleguide\StringSafe('Hello World');
return [
'paragraph' => $paragraph
];
} |
Deklaration von Container-Engines
Engines von Views, die andere Views enthalten können, müssen das Interface
...
implementieren, damit im Designer andere Views innerhalb platziert werden können. Hierzu kann die Klasse einfach von Brandbox\CmsCore\Cms\Page\lib\ContainerViewAbstract abgeleitet werden:
Codeblock |
---|
|
class Engine extends Page\lib\ContainerViewAbstract implements Page\lib\Interfaces\ContainerViewInterface |
config.json
Diese Konfigurationsdatei im JSON-Format vergibt wichtige Parameter für platzierbare Views:
Parameter | Beschreibung | Hinweise |
---|
coreType | Muss für CMS-Ansichten immer "cms-core" lautet (es gibt auch andere Arten von Ansichten). |
|
friendlyName | Der Name der Ansicht ein allen gewünschten Sprachen, wird beim Platzieren im CMS-Designer dargestellt. |
|
depends | Die Paketnamen von CMS-Themes, für die die View platzierbar ist. | brandbox >= 6.0 |
context | Der Kontext, in der die View im Designer platzierbar ist: page: Die View kann direkt innerhalb des Hauptbereichs der Seite platziert werden (blau) section: Die View kann in einer Spalte platziert werden (grün) container: Die View kann innerhalb einer anderen Container-View platziert werden (schwarz) | brandbox >= 7.0 |
extra > cms > isContainer | true, falls die View Kind-Views enthalten kann |
|
Hier beispielhaft der Inhalt der config.json für "Text / BildContainer":
Codeblock |
---|
title | Beispiel: Inhalt der config.json für "Text / Bild": |
---|
|
{
"coreType": "cms-core",
"friendlyName": {
"de": "Container"Text,
/ Bild", "en": "TextContainer"
/ Image" },
"depends": ["Theme/DefaultCms"],
"context": ["page"],
"section"] "extra": {
"cms": {
"isContainer": true
}
}
} |
view.hbs
...