All Projects → FriendsOfREDAXO → theme

FriendsOfREDAXO / theme

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

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to theme

media manager plus
Ermöglicht das Gruppieren von Media-Manager-Typen und stellt eine Frontend-API (PictureTag) bereit.
Stars: ✭ 21 (-54.35%)
Mutual labels:  backend, redaxo, redaxo-addon
bootstrap helper
Bootstrap Helper für REDAXO 5
Stars: ✭ 22 (-52.17%)
Mutual labels:  backend, redaxo, redaxo-addon
minibar
Minibar: Kleine Leiste für REDAXO, die nützliche Funktionen fürs System und den jeweiligen Benutzerkontext anbietet
Stars: ✭ 29 (-36.96%)
Mutual labels:  backend, redaxo, redaxo-addon
aw navigation
Helferklasse zur Umsetzung komplexer Navigationen
Stars: ✭ 23 (-50%)
Mutual labels:  backend, redaxo, redaxo-addon
articlelist
🐣 Filter für Artikellisten
Stars: ✭ 20 (-56.52%)
Mutual labels:  backend, redaxo, redaxo-addon
cache warmup
Generiert den Cache vorab, so dass die Website bereits beim Erstaufruf performant läuft
Stars: ✭ 36 (-21.74%)
Mutual labels:  redaxo, redaxo-addon
cropper
Bildbearbeitung im REDAXO-Medienpool: Zuschneiden, Drehen, Spiegeln.
Stars: ✭ 33 (-28.26%)
Mutual labels:  redaxo, redaxo-addon
redactor
Integriert den Redactor WYSIWYG-Editor in aktueller Version
Stars: ✭ 22 (-52.17%)
Mutual labels:  redaxo, redaxo-addon
markitup
Integriert den MarkItUp-Editor (Markdown und Textile) in REDAXO CMS
Stars: ✭ 46 (+0%)
Mutual labels:  redaxo, redaxo-addon
yform spam protection
Addon für REDAXO 5, das effektiv Anfragen von Spambots blockiert – ganz ohne Captcha!
Stars: ✭ 34 (-26.09%)
Mutual labels:  redaxo, redaxo-addon
yform usability
Ergänzt YForm um nützliche Funktionen wie Drag & Drop und Status On/Off.
Stars: ✭ 42 (-8.7%)
Mutual labels:  redaxo, redaxo-addon
statistics
Statistik Addon zur Erfassung von Seitenaufrufen. Für das CMS Redaxo.
Stars: ✭ 21 (-54.35%)
Mutual labels:  redaxo, redaxo-addon
media srcset
Media-SrcSet implementiert SRCSET-Funktionalität.
Stars: ✭ 36 (-21.74%)
Mutual labels:  redaxo, redaxo-addon
redaxo cheatsheet
🐣 REDAXO Cheatsheet
Stars: ✭ 21 (-54.35%)
Mutual labels:  redaxo, redaxo-addon
pdfout
PDF-Generator dompdf und pdf.js für REDAXO
Stars: ✭ 42 (-8.7%)
Mutual labels:  redaxo, redaxo-addon
poll
Erstellt und verwaltet Umfragen in REDAXO 5, bei Bedarf mit E-Mailbestätigung.
Stars: ✭ 32 (-30.43%)
Mutual labels:  redaxo, redaxo-addon
navbuilder
Generiert frei definierbare Navigationsbäume mittels Drag & Drop
Stars: ✭ 21 (-54.35%)
Mutual labels:  redaxo, redaxo-addon
redaxo url
REDAXO 5 AddOn zur URL-Generierung für eigene AddOns (ehemals Url Control, ehemals Frau Schultze)
Stars: ✭ 43 (-6.52%)
Mutual labels:  redaxo, redaxo-addon
redaxo watson
Suchagent für REDAXO 4.5 + 5
Stars: ✭ 28 (-39.13%)
Mutual labels:  redaxo, redaxo-addon
webdav
🐣 webdav addon to publish mediapool contents
Stars: ✭ 32 (-30.43%)
Mutual labels:  redaxo, redaxo-addon

Theme

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

Ordner

Nach der Installation kann auf der Theme-Einstellungsseite mit Klick auf den Button Theme-Ordner installieren eine 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 z.B. JavaScript und CSS abgelegt werden.
  • Im Ordner private können alle Dateien abgelegt werden, 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. wie die entsprechenden Ordner eines Addons automatisch eingebunden werden:

  • Alle im Ordner lib enthaltenen PHP-Klassen werden automatisch über autoload eingebunden.
  • Alle im Ordner lang enthaltenen Dateien mit der Endung .lang werden 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 fragments wird über rex_fragment::addDirectory eingebunden.
  • Der Ordner ytemplates wird über rex_yform::addTemplatePath eingebunden, wenn YForm installiert ist.
  • 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 Backend eingebunden werden. Diese Funktion kann in den Einstellungen des Theme-Addons 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 über zusätzliche Optionen in den Einstellungen des Theme-Addons die Möglichkeit, die Synchronisierung der Templates, Module, Actions und YForm E-Mail Templates in den Theme-Ordner umzuleiten. Die Synchronisierung kann für jede der drei Gruppen einzeln aktiviert werden. Wenn die Synchronisierung in den Theme-Ordner aktiviert ist, wird die entsprechenden Synchronisierung 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.

// $filename ist immer optional und kann auch ein Pfad sein. 
$filename = "path/to/file";

// 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);

theme_path

Analog rex_path werden absolute Serverpfade zurückgegeben.

// $filename ist immer optional und kann auch ein Pfad sein. 
$filename = "path/to/file";

// 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/fragments" zurück.
$path = theme_path::fragments($filename);

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

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

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, [
    'index1' => 'data1', 
    'index2' => 'data2', 
    ...
]);

// Holt einen Eintrag. Dabei kann ein Array mit Vorgabe-Werten übergeben werden.
// Die Arrays werden über array_merge() zusammengeführt. 
// Ist ein Schlüssel in beiden Arrays vorhanden, wird der des Default-Arrays 
// mit denen des ausgelesenen Arrays überschrieben.
theme_setting::getKey($key, [
    'index1' => 'data1', 
    'index2' => 'data2', 
    ...
]);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].