Silverstripe Tipps und Tricks
Silverstripe Tipps und Tricks
Problem date.timezone nicht gesetzt:
Sollte es nicht möglich sein die php.ini Datei direkt zu bearbeiten bzw. der Zugriff darauf verwehrt wird, kann im Root Verzeichnis der Projektes ein php.ini Datei erstellt werden um dort die Timezone mit
date.timezone = Europe/Vienna
zu setzen.
Mit einer einfach phpinfo.php kann im Anschluss die Einstellung überprüft werden.
<?php // Zeigt alle Informationen (Standardwert ist INFO_ALL) phpinfo(); // Zeigt nur die Modul-Informationen. // phpinfo(8) führt zum gleichen Ergebnis. phpinfo(INFO_MODULES); ?>
Template Syntax
Keywords
not | boolean false
$Title, $MetaTitle | einer jeden Seite
$UrlSegment | aktuelle URL e.g. news
$ThemeDir
Template Files inkludieren
Layout: <% include Header %> CSS Intern: <% require themedCSS('stylesheet') %> JS Intern: <% require themedJavascript('bootstrap') %> JS Extern: <% require javascript('//code.jquery.com/jquery-3.3.1.min.js') %>
Loop über Child Pages
Es ist nicht immer notwendig eine eigene Funktion zur Ausgabe einer Vorschau von Objekten zu verwenden.
<% loop $Children %> $Title <% end_loop %>
Verzweigungen
<% if $Boolean1 %> <% else_if $Boolean2 %> <% else %> <% end_if %>
Variablen Scope
Verwendet Up und Top um in einen anderen Bereich zu gelangen.
$Up.Title $Up.Up.Title $Top.Title
Enable Frontend Upload
Works with Filefield and Uploadfield. The Important Parts are:
1. Set the missing name Attribute because the Backend uses React and the data-schema Tag.
Extend/Create a new Uploadfield or update the existing one.
public function getAttributes() { $attributes = array( 'name' => $this->getName(), ); }
2. Change the internal restricted enctype to multipart/form-data.
Extend/Create new Form or set the important part at the existing one.
public function Form(){ $form = new Form(); $form->setEncType("multipart/form-data"); return $form; }
to continue..
