DOH!!
Thank you so much, this issue is now officially resolved. For those that are interested in what the final steps are for this problem here's a breakdown:
1. Create a custom radio button field on the product table. Label it something like 'Required_Participant_Name'. I've set two values, (title)Yes = (value)TRUE, (title)No = (value)FALSE.
2. Create a custom text field on the order table. Label this one something like 'Participant_Name'.
3. Go to Display->Views modify checkout/fields.php with the following code:
<?php
/**
* @package HikaShop for Joomla!
* @version 1.5.5
* @author hikashop.com
* @copyright (C) 2010-2011 HIKARI SOFTWARE. All rights reserved.
* @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
*/
defined('_JEXEC') or die('Restricted access');
?>
<?php
$cartClass = hikashop_get('class.cart');
$cart = $cartClass->loadFullCart(true);
$this->rows =& $cart->products;
$required_participant_name = false;
foreach($this->rows as $row){
$productClass = hikashop_get('class.product');
$product = $productClass->get($row->product_id);
if($product->required_participant_name == "TRUE" ) $required_participant_name = true;
}
if(!$required_participant_name){
$doc =& JFactory::getDocument();
$js="hikashop['reqFieldsComp']['order'] = Array();";
$doc->addScriptDeclaration( "<!--\n".$js."\n//-->\n" );
return;
}
?>
<?php if(hikashop_level(2) && !empty($this->extraFields['order']) && $required_participant_name == true){
?>
<div id="hikashop_checkout_additional_info" class="hikashop_checkout_additional_info">
<fieldset class="input">
<legend><?php echo JText::_('ADDITIONAL_INFORMATION');?></legend>
<table cellpadding="0" cellspacing="0" border="0" class="hikashop_contentpane">
<?php
if(!empty($this->extraFields['order'])){
JRequest::setVar('hikashop_check_order',1);
$this->setLayout('custom_fields');
$this->type = 'order';
echo $this->loadTemplate();
}
?>
</table>
</fieldset>
</div>
<div style="clear:both"></div>
<?php } ?>
4. Find the following file, administrator/components/com_hikashop/classes/field.php. Once located, find the following line of code and comment it out. (Or delete it if you so choose)
if(!$class->check($fields[$k],$val,@$oldData->$namekey)){
$ok = false;
}
This removes the server side form validation.
5. Bada Boom, Bada Bing - You've now got conditional custom fields. Enjoy!
Nicolas, thanks again!