GithubHelp home page GithubHelp logo

danspringer / be_branding Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 2.0 461 KB

Mit diesem Addon lässt sich das Backend von REDAXO 5 branden.

License: MIT License

CSS 2.78% PHP 67.06% HTML 13.55% JavaScript 15.72% Hack 0.90%

be_branding's Introduction

Backend Branding für REDAXO 5

Mit dem AddOn lässt sich das Backend von Redaxo branden, um dem Backend eine individuellere Note zu geben. Damit kann man, wenn man mehrere REDAXO-Projekte betreut, das Backend auf einen Blick schneller unterscheiden. Inkl. Favicon-Generator für das Frontend aus dem Medienpool heraus.

Backend Branding für REDAXO 5

Features

  • Einfärben des Headers und REDAXO-Logos im Backend
  • Einfärben des Favicon im Backend (Imagemagick benötigt)
  • Einfache Anpassung des Loginscreen-Hintergrundbildes ab REDAXO 5.12 aus dem Backend heraus
  • Generierung von Favicons für das Frontend aus dem Medienpool heraus (Imagick benötigt)
  • Frontend-Favicons für Multidomain-Installationen mit YRewrite
  • Anzeigen eines Projektlogos im Login-Screen und in der Navigation des Backends
  • Anzeigen eines Logos und Anschrift o.ä. in den Credits
  • Anzeigen eines Namens im Footer des Backends
  • Anzeigen einer zusätzlichen Hinweisleiste (border) im Backend

Benutzung

Login-Seite individualisieren

Um die Login-Seite von REDAXO mit einem eigenen Hintergrundbild zu individualisieren, muss in den AddOn-Einstellungen unter Backend-Branding > Projektbranding als Hintergrund des Login-Screens die Option "Eigenes Hintergrundbild" auswählen und aus dem Medienpool ein geeignetes Bild auswählen.
Die Farben der Login-Box oder des Farbverlaufs als Hintergrund werden aus dem Farbschema der Primärfarbe und Sekundärfarbe gebildet. Sollte ein Projektlogo hinterlegt sein, wird dieses oberhalb der Login-Box angezeigt.

Folgende Optionen für den Hintergrund des Login-Screens stehen zur Verfügung:

  • Eigenes Hintergrundbild
  • Primärfarbe aus Farbschema
  • Sekundärfarbe aus Farbschema
  • Farbverlauf aus Primärfarbe und Sekundärfarbe
  • Das Standard-Hintergrundbild von REDAXO

Multidomainfähigkeit mit YRewrite

Wenn in YRewrite mehrere Domains angelegt sind, hat man im Backend Branding Addon die Möglichkeit, auch das Backend der jeweiligen Domain individuell darzustellen. Hierzu aktiviert man unter Backend Branding > Konfiguration die Domainprofile. Anschließend stehen unter Backend Branding für die verfügbaren Domains unterschiedliche Profile für das Backend zur Verfügung. So kann ein Backend für Domain A (domain-a.de/redaxo) anders aussehen als ein Backend von Domain B (domain-b.de/redaxo), obwohl beides unter einer REDAXO-Installation läuft.

Backend individualisieren

Das AddOn bietet die Möglichkeit, das Aussehen von REDAXO im Backend anzupassen, um es so stärker individualisieren zu können. Dies eignet sich, um bei Kundenprojekten näher an der CI zu sein oder um unterschiedliche REDAXo-Installationen optisch leichter unterscheiden zu können.
Hierzu können eine Primärfarbe und eine Sekundärfarbe im AddOn definiert werden. Mit diesen beiden Farben wird das REDAXO-Logo eingefärbt, die Header-Leiste im Backend sowie die Login-Box eingefärbt.

Backend-Favicon einfärben

Das Backend-Favicon von REDAXO kann im AddOn unter Konfiguration > Favicon im Backend färben? umgefärbt werden. Hierbei wird die Primärfarbe des Farbschemas verwendet.

Frontend-Favicons generieren und einbinden

Das AddOn ermöglicht die einfache Generierung und Einbindung aller möglichen Favicon-Formate für das Frontend.
Hierzu muss YRewrite installiert und aktiviert sein. Außerdem muss mindestens eine Domain in YRewrite angelegt sein. Für jede Domain steht anschließend ein Auswahlfeld für den Medienpool zur Verfügung, mit welchem man eine Quelldatei wählen kann, aus welcher dann die entsprechenden Favicons generiert werden. (Empfohlen wird eine PNG-Datei mit mindestens 310x310 Pixeln)

Um die Favicons im Template einzubinden wird folgender PHP-Code im head-Bereich des Templates eingefügt:

be_branding::getFrontendFavicons( rex_yrewrite::getCurrentDomain()->getId() )

Last Changes

Version 1.8.1

===29.01.2024 ===

Letzte Version vor REDAXO 5.16 - Plugins werden entfernt (z.B. Customizer) - ggf. wird die Backendstruktur von Redaxo dann angepasst.

Mit REDAXO 5.16 soll dann eine neue Version von be_branding kommen.

Fixed:

  • Splashscreen in Readme angepasst

Version 1.8.0

=== 11.10.2022 ===

Neu:

  • Multidomainfähigkeit: Es können nun pro in YRewrite angelegter Domain verschiedene Profile für das Backend angelegt werden. Unterschiedliche Domains können nun also auch im Backend unterschiedlich aussehen. Beispiel: Wenn man als Redaxo-User*in im Backend unter domain1.de/redaxo eingeloggt ist, so kann dieses Backend ein anderes Branding bekommen als z.B. domain2.de/redaxo. Es werden auch die Backend-Favicons entsprechend des Profils gefärbt und der Frontend-Link im Header über be_style/customizer wird ebenfalls angepasst.
  • Favicon-Einstellungen pro Domain werden nun übersichtlicher in Tabs dargestellt.

Fixed:

  • Logo des Projekts wird bei Installation im Unterordner jetzt korrekt angezeigt @aeberhard #31

Version 1.7.1

=== 12.08.2022 ===

Fixed:

  • Scripts, die im pageHeader untergebracht sind, funktionieren nun wieder (z.B. Watson, Fontawesome-Picker oder Structure Tweaks, etc.): #28

Version 1.7

=== 07.01.2022 ===

ACHTUNG - Breaking-Changes:

  • Die Version 1.7 ist nur noch kompatibel mit REDAXO ab Version 5.13.0
  • YRewrite wird vorausgesetzt
  • Die REX-Variable REX_BE_BRANDING[type=fe_favicon] wird in dieser Version nicht mehr berücksichtigt. Zur Ausgabe der Frontend-Favicons bitte den PHP-Code be_branding::getFrontendFavicons( rex_yrewrite::getCurrentDomain()->getId() ) nutzen.

Fixed:

  • Anpassungen an die neue REDAXO-Backend-Struktur ab Version 5.13

Neu:

  • Frontend-Favicons nun auch für Multidomain-Installationen mit YRewrite
  • Hilfedatei ergänzt

Version 1.6-beta2

=== 05.05.2021 ===

  • Nach Update, Installation oder Reinstallation wird der Template-Cache geleert, damit die Ersetzung von REX_BE_BRANDING[type=fe_favicon] im Frontend korrekt funktioniert.

Version 1.6-beta

=== 04.05.2021 ===

  • NEU: Mehr Optionen zur Einstellung des neuen REX-Loginscreens (Eigenes Hintergrundbild, REDAXO-Standard-HG-Bild, Primärfarbe, Sekundärfarbe oder Verlauf wählbar)
  • Umstellung auf eigene Redaxo-Variable REX_BE_BRANDING[] anstatt str_replace()
  • Auslagerung der Funktionen in der boot.php in die Klasse be_branding
  • Redaxo-Cache wird nach Änderung des Frontend-Favicon gelöscht
  • Fallback-Hintergrundbild im Loginscreen wird nun nur noch bei mobiler Ansicht angezeigt, nicht bei Desktop-Version, da es zu einem kurzen Zitter-Effekt gekommen ist

Version 1.5.1

=== 07.04.2021 ===

  • Anpassung background-properties für #rex-page-login: Hintergrund-Bild für Login-Screen nun auch bei mobiler-Anicht
  • Anpassung Screenshot-URL in README.md

Version 1.5

=== 26.03.2021 ===

  • Anpassung an neuen Login-Screen ab REDAXO 5.12
  • Hintergrundbild des neuen Login-Screens (REX 5.12) kann nun bequem im AddOn eingestellt werden
  • Media-Manager-Types für JPG und WebP werden bei Reinstall und Update in REX 5.12 angelegt.
  • Credits wurden nicht mehr angezeigt => fixed Danke @helpy

Version 1.4.2

=== 28.09.2020 ===

  • Bei einem Reinstall wurde versehentlich noch ein Ordner "favicon" im Root generiert.
  • vendor/favicon/src/FaviconGenerator.php entfernt.
  • Mögliches Überbleibsel im Root (favicon-Ordner) wir bei Reinstall und Update gelöscht.

Version 1.4.1

=== 28.09.2020 ===

  • Umstellung auf Fragments, wo möglich.
  • Frontend-Favicons werden nun nur noch beim Speichern auf der Einstellungsseite für die Frontend-Favicons generiert.

Version 1.4

=== 24.09.2020 ===

  • Neu: Ein favicon.ico wird zur Sicherheit noch ins Root-Verzeichnis der Website gelegt, da manche Suchmaschinen einfach nach dem Standardpfad schauen.
  • Umstellung auf die Klasse fe_favicon zur Generierung der Icons und zur Ausgabe des HTML-Codes.
  • Die Frontend-Favicons werden nun nur noch generiert, wenn Sie noch nicht im Assets-Ordner des AddOns existieren, nicht mehr bei jedem Seitenaufruf.
  • Die .settings-Datei für die Frontend-Favicons wird bei einem Update oder Reinstall gelöscht, falls sie aus früheren Versionen noch fehlerhaft war.

Version 1.3.4

=== 22.09.2020 ===

  • Behebt die Warnings bzgl. array_key_exists() in FE_FaviconGenerator.php - Danke an Serhan Sidan @ Mattomedia.de
  • Anpassung an Imageick-Version zur korrekten Generierung von Favicons.

Version 1.3.3

=== 13.03.2020 ===

  • Behebt einen Fehler der Frontend-Favicons der Version 1.3.2. Korrigiert die Einbindung der Color-Pickers.

Version 1.3.2

=== 12.03.2020 ===

  • Backend-Favicon-Update für Rex 5.10.0. Diese Verson korrigiert die Einbindung der gefärbten Icons im Backend und berücksichtigt die verschiedenen Einbindungsarten der Versionen 5.0-5.7, von 5.7-5.8, 5.8.0 und ab 5.8.1 bis zu 5.10.0.

Version 1.3.1

=== 08.11.2019 ===

  • Backend-Favicon-Update für Rex 5.8.1. In der Redaxo Version 5.8.1 wurden die Favicons geändert und anders eingebunden. Diese Verson korrigiert die Einbindung der gefärbten Icons im Backend und berücksichtigt die verschiedenen Einbindungsarten der Versionen 5.0-5.7, von 5.7-5.8, 5.8.0 und ab 5.8.1.

Version 1.3

=== 03.09.2019 ===

  • Backend-Favicon-Update für Rex 5.8.0. In der Redaxo Version 5.8.0 wurden die Favicons geändert und anders eingebunden. Diese Verson korrigiert die Einbindung der gefärbten Icons im Backend und berücksichtigt die verschiedenen Einbindungsarten der Versionen 5.0-5.7, von 5.7-5.8 und ab 5.8.
  • Fixed: SVG-Branding-Logo wurde nicht geladen, wenn Frontend durch maintenance-AddOn gesperrt war. Danke @helpy

Version 1.2

=== 28.06.2019 ===

  • rex::isFrontend() entfernt, da die Funktion erst ab REDAXO 5.7 verfügbar ist und niedrigere Versionen beim Update des AddOns einen Whoops bekommen haben.
  • Meldungen angepasst, wenn ImageMagick auf dem Server nicht verfügbar ist und man Favicons für das Frontend generieren wollte.
  • SVG-Unterstützung für das Projekt-Logo im Backend

Version 1.1

=== 11.05.2019 ===

  • NEU: Favicon-Generator fürs Frontend.
  • Unter dem neuen Menüpunkt Frontend-Favicon kann eine Datei aus dem Medienpool ausgewählt werden, die dann automatisch in die jeweiligen Formate für Favicons generiert wird.
  • Ebenfalls kann die Tile-Color für Android-Geräte und Windows-Tiles angegeben werden (Das Favicon wird dabei nicht gefärbt).
  • Die Einbindung ins Frontend ist mittels dem Snippet REX_BE_BRANDING[type=fe_favicon] im Template im -Bereich möglich.

Version 1.0.9

=== 19.03.2019 ===

  • Wenn Redaxo in einem Unterordner installiert ist, gab es einen Fehler, wenn man die Option für das Färben der Favicons aktiviert hatte.
  • Tile-Color für Android Endgeräte ergänzt.
  • Pfade für Einbindung der Favicons gefixt.

Version 1.0.8

=== 13.03.2019 ===

  • Favicon-Update für Rex 5.7.0. In der Redaxo Version 5.7.0 wurden die Favicons geändert und anders eingebunden. Diese Verson korrigiert die Einbindung der gefärbten Icons je nachdem, ob die Redaxo-Version größer oder kleiner als V 5.7.0 ist.

Version 1.0.7

=== 26.02.2019 ===

  • Der Ordner assets/favicon und die Datei assets/favicon/.original wurden ergänzt. Ohne den Ordner bzw. die Datei gibt es einen Fehler, wenn man das Favicon färben möchte.

Version 1.0.6

=== 19.10.2018 ===

  • Der Servername für FavIcons für Android wurde noch mit R4-Methoden angeben und wurde auf R5 korrigiert.

Version 1.0.5

=== 22.08.2018 ===

  • Diverse Notices gefixt

Version 1.0.4

=== 21.08.2018 ===

  • Favicon im Backend kann gefärbt werden (Imagemagick benötigt)
  • Übersichtlichere Aufteilung in Konfiguration und Branding-Page
  • Umgestellt auf includeCurrentPageSubPath
  • jQuery Colorpicker ist keine Pflicht mehr. Wenn ui_tools/jquery-minicolors installiert ist, wird es verwendet, ansonsten normales input-Feld oder selbst mitglieferter jQuery-Colorpicker
  • In der Konfiguration kann aus den installierten Editoren der bevorzugte festgelegt werden (zur Zeit: ckEditor, ckEditor 5, Markitup / Markdown o. Textile, redactor 2, tinymce4.

Version 1.0.3

=== 05.06.2018 ===

  • Bugfix Kompatibilität mit Quick Navigation

Autor

Daniel Springer, Medienfeuer
www.medienfeuer.de

Credits

border

"border" stammt aus dem (mittlerweile nicht mehr weitergeführten) AddOn "out5" von Oliver Kreischer / FOR. Vielen Dank!

hex2rgb, rgb2hex und makeFavIco

Die Funktionen zur Umwandlung von RGB-, bzw. HEX-Werten und zum Färben des PNGs stammen von Jan Kristinus aus dem R4-AddON "Backend Utilities / Colorizer" von RexDude.

FaviconGenerator

Class generation favicon for browsers and devices Android, Apple, Windows and display of html code. It supports a large number of settings such as margins, color, compression, three different methods of crop and screen orientation.

jQuery MiniColors

A tiny color picker built on jQuery Developed by Cory LaViska for A Beautiful Site, LLC

Licensed under the MIT license: http://opensource.org/licenses/MIT

Demo & Documentation http://labs.abeautifulsite.net/jquery-minicolors/

be_branding's People

Contributors

bepixeld avatar danspringer avatar helpy avatar skerbis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

bepixeld dpf-dd

be_branding's Issues

Favicons auch ohne ImageMagick

Favicons ohne Imagemagick generieren:

Wie beim original-favicon.png einfach die Färbe-Funktion auf jedes vorbereitete Dateiformat ziehen und auf das favicon-Generator-Plugin verzichten, da das Imagemagick benötigt.

Undefined constant

Ich hab folgenden Notice nach der Installation:

Notice: Use of undefined constant makeFavIcon - assumed 'makeFavIcon' in ... redaxo/src/addons/be_branding/boot.php on line 72

Es gibt noch einige Warnings

Warning: Use of undefined constant hex2rgb - assumed 'hex2rgb' (this will throw an Error in a future version of PHP) in /Users/abc/Sites/def/redaxo/src/addons/be_branding/boot.php on line 25 Warning: Use of undefined constant rgb2hex - assumed 'rgb2hex' (this will throw an Error in a future version of PHP) in /Users/abc/Sites/def/redaxo/src/addons/be_branding/boot.php on line 44 Warning: Use of undefined constant rgba2hex - assumed 'rgba2hex' (this will throw an Error in a future version of PHP) in /Users/abc/Sites/def/redaxo/src/addons/be_branding/boot.php on line 58 Warning: Use of undefined constant makeFavIcon - assumed 'makeFavIcon' (this will throw an Error in a future version of PHP) in /Users/abc/Sites/def/redaxo/src/addons/be_branding/boot.php on line 72

mobile Navigation nicht sichtbar unter REX 5.13

unter Redaxo 5.13.0 ist bei aktivem Addon be_branding die Mobile Navigation nicht sichtbar.
Navbar wir zwar "rausgefahren", die eigentliche Navigation hat aber ein "display:none".
Irgendwie stimmen die CSS-Klassen nicht mehr.
Entfernt man class="navbar-collapse collapse" funktioniert alles.

Seitenleiste einfärben

Ich fände prima, wenn auch das Standard-Redaxo-Taubenblau in der Seitenleiste auch mit einem Farbschema verändert werden kann. Gerne zusätzlich optional zur Header-Färbung.

Logo des Projekts wird bei Installation im Unterordner nicht angezeigt

in navigation.php sollte rex_url::frontend() vorangestellt werden

echo '<img src="' . rex_url::frontend() . be_branding::checkExtension(rex_addon::get('be_branding')->getConfig('file')) . '" class="img-responsive center-block" style="padding: 20px 10px 5px 10px; width: 100%;"/></a>';

dump() bei speichern entfernen

V 1.8.0 - beta
Beim Speichern der Branding-Profile werden zwei noch ein Arrays gedumpt:

Bei aktivierten Multidomain:

dump($domainprofiles);

Normal:

dump([
['agency', 'string'],
['file', 'string'],
['file2', 'string'],
['textarea', 'string'],
['border_text', 'string'],
['border_color', 'string'],
['color1', 'string'],
['color2', 'string'],
['login_bg', 'string'],
['login_bg_setting', 'string'],
]);

Logos wirken zu massiv

Vor allem in der mobilen Ansicht wirken wirken die Logos sehr mächtig, vor allem wenn es sich höhere als breitere Bilder handelt.

Generierung von farbigen Backend-Favicons nicht mehr bei jedem Seitenaufruf

Zur Zeit (1.8.0-beta3) werden bei jedem Seitenaufruf im Backend die Backend-Favicons neu generiert.

Hier ist es ausreichend, dass - ähnlich wie bei den Frontend-Favicons - die Icons lediglich beim Speichern der Branding-Config-Seite generiert werden und dann nur noch beim Seitenaufruf eingebunden werden.

if(class_exists('Imagick') === true) {
if(rex_addon::get('be_branding')->getConfig('coloricon') == 1) {
$addon = rex_addon::get('be_branding');
// Initiale Farbe für R setzen und als neues png abspeichern
be_branding::makeFavIcon(be_branding::rgba2hex($addon->getConfig('color1'. be_branding::getCurrentBeDomainId(true))), rex_path::addon('be_branding') . 'vendor/favicon/');
// aus dem png dann die Favicons generieren
//https://github.com/dmamontov/favicon reinholen
require rex_path::addon('be_branding') . 'vendor/favicon/src/BE_FaviconGenerator.php';
$fav = new BE_FaviconGenerator(rex_path::addonAssets('be_branding') . 'favicon/favicon-original-' . str_replace('#', '', be_branding::rgba2hex($addon->getConfig('color1'. be_branding::getCurrentBeDomainId(true)))) . '.png');
$fav->setCompression(BE_FaviconGenerator::COMPRESSION_VERYHIGH);
$fav->setConfig(array(
'apple-background' => substr($addon->getConfig('color1'. be_branding::getCurrentBeDomainId(true)), 1, 6),
'apple-margin' => 0,
'android-background' => substr($addon->getConfig('color1'. be_branding::getCurrentBeDomainId(true)), 1, 6),
'android-margin' => 0,
'android-name' => rex::getServerName(),
'android-url' => rex::getServer(),
'android-orientation' => BE_FaviconGenerator::ANDROID_PORTRAIT,
'ms-background' => substr($addon->getConfig('color1'), 1, 6)
));
// Erst die BE-Branding Favicons ausgeben
echo $fav->createAllAndGetHtml(be_branding::rgba2hex($addon->getConfig('color1'. be_branding::getCurrentBeDomainId(true))));
// Jetzt die Redaxo-Favicons löschen, aber die Scripts im pageHeader beibehalten
echo be_favicon::removeRexCoreFavicons($this->pageHeader,"link","rel","icon");
} else {
echo $this->pageHeader;
}
}

Icons wie bei out5

Mir ist noch aufgefallen, dass ich die Aktivierung bei Out5 sehr schön fand mit den Icons vorne, aber das ist nur ne kleinigkeit.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.