Here's an update to the zenCssButton function (in /includes/functions/html_output.php) that allows the individual buttons to be styled and also simplifies the HTML generated for the "normal_buttons".
To have a different background color for button_sold_out_sm, you'll need to add to your stylesheet_css_buttons.css something like:Code:/** * generate CSS buttons in the current language * concept from contributions by Seb Rouleau and paulm, subsequently adapted to Zen Cart * note: any hard-coded buttons will not be able to use this function **/ function zenCssButton($image = '', $text, $type, $sec_class = '', $parameters = '') { global $css_button_text, $css_button_opts, $template, $current_page_base, $language; $button_name = basename($image, '.gif'); // automatic width setting depending on the number of characters // $min_width = 80; // this is the minimum button width, change the value as you like // $character_width = 6.5; // change this value depending on font size! // end settings // added html_entity_decode function to prevent html special chars to be counted as multiple characters (like &) // $width = strlen(html_entity_decode($text)) * $character_width; // $width = (int)$width; // if ($width < $min_width) $width = $min_width; // $style = ' style="width: ' . $width . 'px;"'; // if no secondary class is set use the image name for the sec_class if (empty($sec_class)) $sec_class = $button_name; if(!empty($sec_class)) $sec_class = ' ' . $sec_class; if(!empty($parameters))$parameters = ' ' . $parameters; $mouse_out_class = 'cssButton ' . (($type == 'submit') ? 'submit_button button ' : 'normal_button button ') . $sec_class; /*v1.0.2c*/ $mouse_over_class = 'cssButtonHover ' . (($type == 'button') ? 'normal_button button ' : '') . $sec_class . $sec_class . 'Hover'; /*v1.0.2c*/ // javascript to set different classes on mouseover and mouseout: enables hover effect on the buttons // (pure css hovers on non link elements do work work in every browser) $css_button_js .= 'onmouseover="this.className=\''. $mouse_over_class . '\'" onmouseout="this.className=\'' . $mouse_out_class . '\'"'; if (CSS_BUTTON_POPUPS_IS_ARRAY == 'true') { $popuptext = (!empty($css_button_text[$button_name])) ? $css_button_text[$button_name] : ($button_name . CSSBUTTONS_CATALOG_POPUPS_SHOW_BUTTON_NAMES_TEXT); $tooltip = ' title="' . $popuptext . '"'; } else { $tooltip = ''; } $css_button = ''; /*v1.0.2a*/ if ($type == 'submit'){ // form input button $css_button = '<input class="' . $mouse_out_class . '" ' . $css_button_js . ' type="submit" value="' .$text . '"' . $tooltip . $parameters . ' />'; } if ($type=='button'){ // link button // $css_button .= '<span class="normal_button button"><span class="' . $mouse_out_class . '" ' . $css_button_js . $tooltip . ' > ' . $text . ' </span></span>'; $css_button = '<span class="normal_button button ' . $mouse_out_class . '" ' . $css_button_js . $tooltip . ' > ' . $text . ' </span>'; /*v1.0.2c*/ } return $css_button; }
Note that these statements should be placed at the end of the file and the 'hover' styling must come after the regular version.Code:span.normal_button.button_sold_out_sm { background-color: blue; } span.normal_button.button_sold_out_smHover { background-color: red; }
I'll be submitting v1.0.2 to the plugins area shortly.


Reply With Quote
