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/incein.

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