getOriginalWidth($element, $columnBaseWidth); $element['styles']['block']['width'] = $this->calculateWidth($element, $columnBaseWidth); $styles = 'display:block;text-decoration:none;text-align:center;' . StylesHelper::getBlockStyles($element, $exclude = ['textAlign']); $styles = EHelper::escapeHtmlStyleAttr($styles); $template = '
'; return $template; } public function getOriginalWidth($element, $columnBaseWidth): string { $columnWidth = $columnBaseWidth - (StylesHelper::$paddingWidth * 2); $originalWidth = (int)$element['styles']['block']['width']; $originalWidth = ($originalWidth > $columnWidth) ? $columnWidth : $originalWidth; return $originalWidth . 'px'; } public function calculateWidth($element, $columnBaseWidth): string { $columnWidth = $columnBaseWidth - (StylesHelper::$paddingWidth * 2); $borderWidth = (int)$element['styles']['block']['borderWidth']; $buttonWidth = (int)$element['styles']['block']['width']; $buttonWidth = ($buttonWidth > $columnWidth) ? $columnWidth : $buttonWidth; $buttonWidth = $buttonWidth - (2 * $borderWidth) . 'px'; return $buttonWidth; } }