okay, right after i posted the reply it actually got me thinking as well.. from the code you cant really see any part that specifies whether or not it is a TEXT attribute or not, so why is it that if i call the code, the TEXT attribute will be used? after thinking about this i immediately saw the word PRODUCT_OPTIONS_TYPE_TEXT, i thought this must be the one that identifies the TEXT attributes, so immediately after i searched around and found similar variable type for checkboxes and radio buttons and now i can successfully call any attribute types in any function.. to those who are wondering here's what i did, to use the checkbox just use:
if (zen_get_attributes_type($attribute_price->fields['products_attributes_id']) == PRODUCTS_OPTIONS_TYPE_CHECKBOX){
$checkbox = $this->contents[$products_id]['attributes_values'][$attribute_price->fields['options_id']];
}
this part of the code = $this->contents[$products_id]['attributes_values'][$attribute_price->fields['options_id']]; will call the attributes of whichever the $PRODUCTS_OPTIONS_TYPE_XXXX calls, once you've done this just insert the variable into the function's bracket and you're done