в ps_checkout.php дописать перед
// now parse the email template and replace
// the placeholders with the real data.
дописать
$kategory_prod = $ps_product_category->get_name($product_id);
после
// now parse the email template and replace
// the placeholders with the real data.
дописать
$html = str_replace('{phpShopOrderKategoryProd}',$CURRENCY_DISPLAY->getFullValue($kategory_prod),$html);
ну а в форму письма вставить заглушку {phpShopOrderKategoryProd}
работу не проверял (обычно такое сразу работает, но мож чего и пропустил), если что поправте.
сам и поправлю: этот способ применим (если вообще можно так сказать) только для 1-го товара
если нужно для нескольких то изменять нужно после
// CREATE THE LIST WITH ALL ORDER ITEMS
// TO BE PLACED INTO {phpShopOrderItems}
в подходящем месте дописать
$kategory_prod = $dboi->f("category_path") ;
$order_items .= "<td>". $kategory_prod . "</td>";
ну и внимательно отнестись к тэгам (опять таки код не проверял в работе, ногами не бейте)