Edit catalog/template/default/content/Product.tpl
Look for the line : :
Insert this below that line:
Code: Select all
<script language="JavaScript" type="text/javascript">
<!--
function chgVal(myVal,hiddenTxt) {
mycntl=document.getElementById(hiddenTxt);
mycntl.value=mycntl.value+myVal;
//alert (mycntl.value);
}
//--> </script>
Code: Select all
<?php foreach ($options as $option) { ?>
<tr>
<td><?php echo $option['name']; ?>:</td>
<td><select name="option[<?php echo $option['option_id']; ?>]"> <?php foreach ($option['value'] as $option_value) { ?>
<option value="<?php echo $option_value['product_to_option_id']; ?>"><?php echo $option_value['name']; ?>
<?php if ($option_value['price']) { ?>
<?php echo $option_value['prefix']; ?><?php echo $option_value['price']; ?>
<?php } ?>
</option>
<?php } ?>
</select></td>
</tr>
<?php } ?>
Code: Select all
//===tv start
<?php foreach ($options as $option) {
if ( strpos($option['name'],'[input:') === false ) { ?>
<tr>
<td><?php echo $option['name']; ?>:</td>
<td><select name="option[<?php echo $option['option_id']; ?>]">
<?php foreach ($option['value'] as $option_value) { ?>
<option value="<?php echo $option_value['product_to_option_id']; ?>"><?php echo $option_value['name']; ?>
<?php if ($option_value['price']) { ?>
<?php echo $option_value['prefix']; ?><?php echo $option_value['price']; ?>
<?php } ?>
</option>
<?php } ?>
</select></td>
</tr>
<?php
} else {
?>
<tr><td>
<?php $tv_input=str_replace('[input:','', $option['name']);
$tv_input=str_replace(']','', $tv_input);
$tv_input=str_replace('[',' :</td><td> <input ', $tv_input);
$tv_input.=' :</td><td> <input ';
foreach ($option['value'] as $option_value) {
$tv_params=str_replace('[',' ',$option_value['name']);
$tv_params=str_replace(':','="',$tv_params);
$tv_params=str_replace(']','" ',$tv_params);
$tv_input.=$tv_params;
}
//
$tv_input.='name="temp['.$option['option_id'].']" onBlur="chgVal(this.value,\'option'.$option['option_id'].'\')" >';
$tv_input.='<input type="hidden" name="option['.$option['option_id'].']" id="option'.$option['option_id'].'"';
$tv_input.=' value="'.$option_value['product_to_option_id'].'~"> </td></tr>';
echo $tv_input;
} //=== end if
} //=== end options ?>
//===tv end
Edit the file library/cart/cart.php
Look for this line of code:
Code: Select all
$option = $this->database->getRow("select o.name as name, ov.name as `value`, p2o.price, p2o.prefix from product_to_option p2o left join `option` o on p2o.option_id = o.option_id left join option_value ov on p2o.option_value_id = ov.option_value_id where p2o.product_to_option_id = '" . $tv_ptoid . "' and product_id = '" . (int)$product_id . "' and o.language_id = '" . (int)$this->language->getId() . "' and ov.language_id = '" . (int)$this->language->getId() . "'");
Code: Select all
//===tv
$tv_ptoid=strval($product_to_option_id);
$tv_pos=strpos($tv_ptoid,'~');
if ($tv_pos === false) {
} else {
$tv_optVal=substr($tv_ptoid,$tv_pos+1);
$product_to_option_id=substr($tv_ptoid,0,$tv_pos);
}
//===tv end
Code: Select all
//===tv
if ($tv_pos !== false ){
$option['name']=str_replace('input:','',$option['name'])
$option['name']=str_replace(']','',$option['name']);
$option['value']=$tv_optVal;
}
$option['name'].=': ';
//===tv end
To create a textbox for your product:
1) Create an option with the format [input:optionName]
example: [input:Monogram Initials]
2) Create option values with the format [attribute:attributeValue].
*It is mandatory that you create an option value with the name [type:text].
You can add other textbox attributes, for example,
a. [size:20]
b. [maxlenght:30]
3) Add the option value(s) to your product.
That's it.
Regards,
Troy