YAML Typo3 - 3 Spalten fest (1-3-2)

Debug-Ausgabe formatieren

Verwendet man die debug()-Funktion von TYPO3, kann es hin und wieder zu Problemen kommen, wenn die Website absolut positionierte Elemente verwendet. Dann können sich die Debug-Ausgabe und die Website überlagern.

Um dies zu vermeiden, können der debug()-Funktion Styles hinzugefügt werden, mit denen man die Ausgabe positionieren kann.

Die TYPO3-debug()-Funktion befindet sich in der Klasse t3lib_div.

Dort wird dann an allen Stellen, an denen Ausgaben statt finden, eine Style-Angabe hinzugefügt ("typo3-debug"). Über diese Klasse wird die Ausgabe dann positioniert.

/**
* Makes debug output
* Prints $var in bold between two vertical lines
* If not $var the word 'debug' is printed
* If $var is an array, the array is printed by t3lib_div::print_array()
* Usage: 8
*
* @param mixed Variable to print
* @param mixed If the parameter is a string it will be used as header. Otherwise number of break tags to apply after (positive integer) or before (negative integer) the output.
* @return void
*/
function debug($var="",$brOrHeader=0) {
if ($brOrHeader && !t3lib_div::testInt($brOrHeader)) {
echo '<table class="typo3-debug" border="0" cellpadding="0" cellspacing="0" bgcolor="white" style="border:0px; margin-top:3px; margin-bottom:3px;"><tr><td style="background-color:#bbbbbb; font-family: verdana,arial; font-weight: bold; font-size: 10px;">'.htmlspecialchars((string)$brOrHeader).'</td></tr><tr><td>';
} elseif ($brOrHeader<0) {
for($a=0;$a<abs(intval($brOrHeader));$a++){echo '<br />';}
}
if (is_array($var)) {
t3lib_div::print_array($var);
} elseif (is_object($var)) {
echo '<b class="typo3-debug">|Object:<pre>';
print_r($var);
echo '</pre>|</b>';
} elseif ((string)$var!='') {
echo '<b class="typo3-debug">|'.htmlspecialchars((string)$var).'|</b>';
} else {
echo '<b class="typo3-debug">| debug |</b>';
}
if ($brOrHeader && !t3lib_div::testInt($brOrHeader)) {
echo '</td></tr></table>';
} elseif ($brOrHeader>0) {
for($a=0;$a<intval($brOrHeader);$a++){echo '<br />';}
}
}