Theme AddOn - Function debug_module($value, 'String')
Benötigt das Theme Addon
Was macht es?
Eine kleine Funktion um die Inhalte der REX_VALUES auszugeben. Vor allem hilfreich beim Einsatz von mform und mblock. Die Funktion gibt entweder ein dump($value)
oder print_r($value)
bei Core Version < 5.3.0 aus.
Die Funktion
Lege eine Datei namens debug_module.php
im Theme Addon im Ordner theme/private/inc/backend
an.
Inhalt der Datei
<?php
if(!function_exists("debug_module"))
{
function debug_module($value,$label = 'VALUE')
{
//get core version
$coreVersion = rex_config::get('core', 'version');
//build debug
if ($coreVersion < '5.3.0') {
//return debug
echo '<h6>'.$label.'</h6>'.
'<pre>' .
print_r($value,1) .
'</pre>';
} else {
//return debug
echo '<h6>'.$label.'</h6>';
dump($value);
}
}
}
Einbinden in Theme
Anschließend wird die Datei debug_module.php
in die functions.php
im Ordner theme/private/inc
ein.
z.B so:
<?php
if (!rex::isBackend()) {
// Frontend
// Optional language switch - Infos: https://friendsofredaxo.github.io/tricks/addons/theme/language_switch
//include('frontend/clang_switch.php');
} else {
// Backend
//get REDAXO config file
$configFile = rex_path::coreData('config.yml');
$config = rex_file::getConfig($configFile);
//when debug is set and true, include function(s)
if (isset($config['debug']) && $config['debug'] === true) {
include('backend/debug_module.php');
}
}
Ausgabe im Modul
Und nun kann -immer wenn der Haken bei Debug-Modus
unter System
drin ist- die Ausgabe im Backend des Moduls ein und ausgeschaltet werden. Ausgegeben wird es im Modul dann z.B.:
<?php
//get config from mform
$owlConfiguration = rex_var::toArray("REX_VALUE[20]");
//fetch items from mform
$items = rex_var::toArray("REX_VALUE[1]");
//when function is present
if(function_exists('debug_module')) {
//show debug module output
debug_module($items);
debug_module($owlConfiguration, 'Configuration');
debug_module("REX_VALUE[5]", 'REX_VALUE 5');
}
Theme Language Switch (optional)
Ein Sprachschalter, den man in im Frontend an beliebiger Stelle einbinden kann: Theme Language Switch