Hi,
It s because the cell's that make up the table listing have no "width" parameters set, so in effect they are dynamic in width, unfortunately, css buttons need either a cell big enough or a style width set.
To resolve, open your product_listing.php file. either in your template includes/modules folder or templates/default/modules.
You will see, 3 sets of case switches, ( case 'PRODUCT_LIST_MODEL':) your only concerned with the first two sets, these are the headers for the listings.
As you have 4 headings on your site, Image, Name, Price and Buy now, you can set these widths as follows:
The first one you come across is case 'PRODUCT_LIST_NAME':
Replace this
Code:
case 'PRODUCT_LIST_NAME':
$lc_text = TABLE_HEADING_PRODUCTS;
$lc_align = '';
break;
with
Code:
case 'PRODUCT_LIST_NAME':
$lc_text = TABLE_HEADING_PRODUCTS;
$lc_align = '';
$lc_params = 'width="45%" class="productListing-heading"';
break;
Note the $lc_params, and the width is set to % and you must add the class. you can change this for a pixel width or a % width.
Do this for the other three listings you have in your header,
Code:
case 'PRODUCT_LIST_PRICE':
$lc_text = TABLE_HEADING_PRICE;
$lc_align = 'right';
$lc_params = 'width="15%" class="productListing-heading"';
break;
case 'PRODUCT_LIST_IMAGE':
$lc_text = TABLE_HEADING_IMAGE;
$lc_align = 'center';
$lc_params = 'width="25%" class="productListing-heading"';
break;
case 'PRODUCT_LIST_BUY_NOW':
$lc_text = TABLE_HEADING_BUY_NOW;
$lc_align = 'center';
$lc_params = 'width="15%" class="productListing-heading"';
break;
Do this in both sets of switches.. the first is for upcoming_products the second for all else.
Next find the following, its right after the second set, only change this one, there is another after the third set you dont need to do.
Code:
$list_box_contents[0][] = array('align' => $lc_align,
'params' => 'class="productListing-heading"'',
'text' => ' ' . $lc_text . ' ');
and replace with
Code:
$list_box_contents[0][] = array('align' => $lc_align,
'params' => $lc_params,
'text' => ' ' . $lc_text . ' ');
Note, if you add extra fields to display in Admin, you will need to amend the above to suit.
This should sort your problem out, just play around with the sizes to suit you best.