Bootstrap 5 bringt bei meinem /li-Template leider einiges durcheinander. Ich hab das jetzt temporär anders gelöst und eine neue Klasse in die serverlib/template.class.php integriert:
/* New Template Tabler.io*/
function TemplateProgressBar($params, &$smarty)
{
if ($params['max'] == 0) {
$valueWidth = 0;
$progresscolor = '';
} else {
$valueWidth = round($params['value'] / $params['max'] * 100);
if ($valueWidth > 90) {
$progresscolor = ' bg-danger';
} else if ($valueWidth > 70) {
$progresscolor = ' bg-warning';
} else {
$progresscolor = '';
}
}
return '<div class="progress"><div class="progress-bar'. $progresscolor .'" role="progressbar" style="width: '. $valueWidth .'%;" aria-valuenow="'. $valueWidth .'" aria-valuemin="0" aria-valuemax="100"></div></div>';
}
/* old Template */
function TemplateProgressBarOld($params, &$smarty)
{
$value = $params['value'];
$max = $params['max'];
$width = $params['width'];
$name = isset($params['name']) ? $params['name'] : mt_rand(0, 1000);
if($max == 0)
$valueWidth = 0;
else
$valueWidth = $width/$max * $value;
return(sprintf('<div class="progressBar" id="pb_%s" style="width:%dpx;"><div class="progressBarValue" id="pb_%s_value" style="width:%dpx;"></div></div>',
$name,
$width,
$name,
min($width-2, $valueWidth)));
}
Alles anzeigen
Zusätzlich muss man die Klasse noch registrieren:
// functions
$this->register_function('banner', 'TemplateBanner');
$this->register_function('lng', 'TemplateLang');
$this->register_function('comment', 'TemplateComment');
$this->register_function('date', 'TemplateDate');
$this->register_function('size', 'TemplateSize');
$this->register_function('text', 'TemplateText');
$this->register_function('domain', 'TemplateDomain');
$this->register_function('email', 'TemplateEMail');
$this->register_function('progressBar', 'TemplateProgressBar');
$this->register_function('progressBarOld', 'TemplateProgressBarOld');
$this->register_function('miniCalendar', 'TemplateMiniCalendar');
$this->register_function('fileSelector', 'TemplateFileSelector');
$this->register_function('pageNav', 'TemplatePageNav');
$this->register_function('addressList', 'TemplateAddressList');
$this->register_function('storeTime', 'TemplateStoreTime');
$this->register_function('pluginMenus', 'TemplatePluginMenus');
$this->register_function('halfHourToTime', 'TemplateHalfHourToTime');
$this->register_function('implode', 'TemplateImplode');
$this->register_function('mobileNr', 'TemplateMobileNr');
$this->register_function('hook', 'TemplateHook');
$this->register_function('fileDateSig', 'TemplateFileDateSig');
$this->register_function('number', 'TemplateNumber');
$this->register_function('fieldDate', 'TemplateFieldDate');
Alles anzeigen
In den jeweiligen li- und plugins/templates/ - Dateien ersetzt man dann folgendes:
{progressbar
mit
{progressbarOld
Dann kann man Tabler.io + das reguläre b1g-Template gleichzeitig verwenden.
Wird dann irgendwann auf das neue li-Template umgestellt ist man schon vorbereitet.