ytraduko-bot / theme

Nützliche Verwaltung von Projektdateien (z. B. Assets, Sprachdateien, Funktionen und Klassen) für Frontend und Backend.

Home Page:http://www.redaxo.org/de/download/addons/?addon_id=1337

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Theme

Redaxo 5 Addon zum Verwalten aller Projektdateien für Frontend und Backend.

Screenshot

Ordner

Nach der Installation kann auf der Theme-Einstellungsseite mit Klick auf den Button Theme-Ordner installieren die Ordner-Struktur erstellt werden. Dabei wird auf Ebene des Ordners redaxo der Ordner theme erstellt.

Er enthält zwei weitere Ordner: public und private:

  • Im Ordner public können alle öffentlich zugänglichen Dateien, wie JavaScript und CSS hinterlegt werden.
  • Im Ordner private alle Dateien, die vor dem Zugriff von außen geschützt werden sollen. Er enthält eine .htaccess, die den Zugriff beschränkt.

Die weiteren Unterordner sind ein Vorschlag für die Strukturierung der Projektdateien. Jede andere Variante ist auch möglich. Die vorgegebene Struktur hat den Vorteil, dass diese Ordner über PHP-Methoden einfach ansprechbar sind (siehe unten), bzw. automatisch eingebunden werden:

  • Der Ordner lib wird automatisch über autoload eingebunden.
  • Der Ordner lang wird automatisch über i18n eingebunden.
  • Alle Dateien mit der Endung .php im Ordner inc werden per include_once in der boot.php des Addons eingebunden.
  • Der Ordner redaxo ist ein Platzhalter für die Synchronisierungsdaten vom Developer Addon (siehe unten).

Dateien

Neben der .htaccess werden weitere Dateien erstellt, die - sofern sie nicht gelöscht wurden - vom Addon automatisch eingebunden werden:

  • backend.css und backend.js werden auf jeder Seite des Redaxo-Backends geladen. So können auf einfache Weise zusätzliche Scripte, Stile oder Webfonts für das Projekt eingebunden werden. Diese Funktion kann in den Einstellungen aktiviert oder deaktiviert werden.
  • functions.php wird im Ordner inc angelegt (siehe oben) und dient nur als schnelle Starthilfe. Sie kann auch umbenannt, gelöscht oder durch andere Dateien ersetzt werden.

Developer

Wenn das Developer Addon installiert ist, gibt es die Möglichkeit, die Synchronisation der Templates, Module und Actions in den Theme-Ordner umzuleiten. Die Synchronisation kann für jede der drei Gruppen einzeln aktiviert werden. Wenn die Synchronisation in den Theme-Ordner aktiviert ist, wird die entsprechenden Synchronisation in den Data-Ordner deaktiviert, um das gegenseitige Überschreiben der Daten zu vermeiden.

API

Um die Verwaltung der Ordner zu erleichtern stehen folgende PHP-Klassen und -Methoden zur Verfügung:

theme_url

Analog rex_url werden relative URLs zurückgegeben.

// Gibt eine URL im Ordner "theme" zurück. 
$url = theme_url::base($filename);

// Gibt eine URL im Ordner "theme/public/assets" zurück.
$url = theme_url::assets($filename);

// $filename ist immer optional.

theme_path

Analog rex_path werden absolute Serverpfade zurückgegeben.

// Gibt einen Pfad im Ordner "theme" zurück.
$path = theme_path::base($filename);

// Gibt einen Pfad im Ordner "theme/private/lib" zurück.
$path = theme_path::lib($filename);

// Gibt einen Pfad im Ordner "theme/private/inc" zurück.
$path = theme_path::inc($filename);

// Gibt einen Pfad im Ordner "theme/private/lang" zurück.
$path = theme_path::lang($filename);

// Gibt einen Pfad im Ordner "theme/private/views" zurück.
$path = theme_path::views($filename);

// Gibt einen Pfad im Ordner "theme/public/assets" zurück.
$path = theme_path::assets($filename);

// $filename ist immer optional.

theme_setting

Eine einfache Registry mit der Möglichkeit beim Abruf Default-Werte zu definieren. Sie soll die Übergabe von Daten erleichtern. So ist es möglich, über z.B. functions.php Modulen und Templates Einstellungen zu übergeben, z.B. können einem generischen Bildmodul je nach Kategorie oder Spaltenposition verschiedene Bildtypen übergeben werden.

// Erstellt einen Eintrag. Die Daten müssen immer als alphanumerisches Array übergeben werden. 
// Wird die Methode mehrfach mit dem gleichen Schlüssel aufgerufen, werden die Daten über array_merge zusammengeführt.
theme_setting::setKey($key, array(
    'index1' => 'data1', 
    'index2' => 'data2', 
    ...
));

// Holt einen Eintrag. Dabei muss ein Array mit Default-Werten übergeben werden. 
// Die Daten des Default-Arrays werden mit den geholten Daten überschrieben, sofern die Daten-Schlüssel gleich sind.
theme_setting::getKey($key, array(
    'index1' => 'data1', 
    'index2' => 'data2', 
    ...
));

About

Nützliche Verwaltung von Projektdateien (z. B. Assets, Sprachdateien, Funktionen und Klassen) für Frontend und Backend.

http://www.redaxo.org/de/download/addons/?addon_id=1337

License:MIT License


Languages

Language:PHP 100.0%