Hilfsklasse zur Installation und Synchronisation von Templates und Modulen, die mit Add-ons mitgeliefert werden.
Auch für eigene Addons einsetzbar!
requires:
php:
version: '>=8.1'
redaxo: ^5.18
tracks: ^4.0
use Tracks\Tracks;
if(\rex_addon::exists('tracks')) {
Tracks::forceBackup('meinaddon'); // Sichert standardmäßig Module und Templates
Tracks::updateModule('meinaddon'); // Synchronisiert Module
Tracks::updateTemplate('meinaddon'); // Synchronisiert Templates
}
\rex_delete_cache();
oder, wer T-Rex mag:
use Tracks\🦖;
if(\rex_addon::exists('tracks')) {
🦖::forceBackup('meinaddon'); // Sichert standardmäßig Module und Templates
🦖::updateModule('meinaddon'); // Synchronisiert Module
🦖::updateTemplate('meinaddon'); // Synchronisiert Templates
}
\rex_delete_cache();
Dazu müssen die zu synchroniserenden Module und Templates einen Prefix im Schlüssel haben, z.B. meinprefix.%
. Da diese mit dem SQL-LIKE-Operator abgefragt werden, können beliebige Zeichen vor und nach dem %
stehen.
if (rex::isBackend() && rex::isDebugMode() && rex_config::get('meinaddon', 'dev')) {
Helper::writeModule('meinaddon', 'meinprefix.%'); // Schreibt Module in /meinaddon/install/module/*
Helper::writeTemplate('meinaddon', 'meinprefix.%'); // Schreibt Templates in /meinaddon/install/templates/*
}
Tipp: Es empfiehlt sich, neben dem Debug-Modus auch einen eigenen Konfigurationsparameter für die Entwicklung zu verwenden, um die Synchronisation bei Bedarf zu aktivieren und zu deaktivieren.
Tipp: Als Prefix kann auch der Addon-Name verwendet werden, um die Zuordnung zu erleichtern. Das Addon
school
verwendet bspw.school
als Prefix und damitschool.%
als Query.
MIT-Lizenz, siehe LICENSE.md
Alexander Walther
http://www.alexplus.de
https://github.com/alexplusde
Projekt-Lead
Alexander Walther