335 lines
16 KiB
Smarty
335 lines
16 KiB
Smarty
{assign var=meth value=':'|explode:$VAR._page}
|
|
<!-- {$meth.0}:{$meth.1} -->
|
|
|
|
{$method->exe($meth.0,$meth.1)}
|
|
{if ($method->result == false) || ! $product}
|
|
{$block->display('core:method_error')}
|
|
{else}
|
|
|
|
<form id="view" method="post" action="" enctype="multipart/form-data">
|
|
|
|
{if $list->translate('product_translate','name,description_full','product_id',$product.id,'translate_product')}{/if}
|
|
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table_background">
|
|
<tr>
|
|
<td>
|
|
<table width="100%" border="0" cellspacing="1" cellpadding="0">
|
|
<tr valign="top">
|
|
<td>
|
|
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="table_heading_cart">
|
|
<tr valign="top">
|
|
<td style="width: 75%;">
|
|
{if $list->translate('product_translate','name,description_short,description_full','product_id',$product.id,'prod_translate')}
|
|
{$prod_translate.name}
|
|
{else}
|
|
{$product.sku}
|
|
{/if}
|
|
</td>
|
|
<td style="width: 25%;" valign="middle" align="right"> </td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td class="body">
|
|
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="body">
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="body">
|
|
<tr valign="top" class="body">
|
|
<td style="width: 50%;">
|
|
{if $product.thumbnail != ''}<img src="{$URL}{$smarty.const.URL_IMAGES}{$product.thumbnail}" alt="" hspace="5" style="border: 0px"/>{/if}
|
|
{$translate_product.description_full}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="body">
|
|
<tr valign="top" class="body">
|
|
<td style="width: 50%;"><b>{osb f=tf field=sku}</b></td>
|
|
<td style="width: 50%;"><b>{t}Currency{/t}</b></td>
|
|
</tr>
|
|
<tr valign="top" class="body">
|
|
<td style="width: 50%;">{$product.sku}</td>
|
|
<td style="width: 50%;" valign="middle">
|
|
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
|
<tr>
|
|
<td style="width: 25%;">
|
|
{$list->currency_list('cyid_arr')}
|
|
<select name="cyid" onchange="CurrencyChange(this);">
|
|
{foreach key=key item=item from=$cyid_arr}
|
|
<option value="{$key}" {if $key == $smarty.const.SESS_CURRENCY}{assign var=currency_thumbnail value=$item.iso}selected="selected"{/if}>{$item.iso}</option>
|
|
{/foreach}
|
|
</select>
|
|
</td>
|
|
<td style="width: 75%;"><img src="themes/{$THEME_NAME}/images/currency/{$currency_thumbnail}.gif" alt="$" style="border: 0px;"/></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="body">
|
|
<tr valign="top" class="body">
|
|
<td style="width: 50%;"><b>{osb f=tf field=price_type}</b></td>
|
|
<td style="width: 50%;"><b>{osb f=tf field=taxable}</b></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td style="width: 50%;">{$list->menu_staticlist('pricetype','','',$product.price_type,'form_menu')}</td>
|
|
<td style="width: 50%;">{$list->bool('',$product.taxable,'form_field')}</td>
|
|
</tr>
|
|
</table>
|
|
{if $product.price_type == '1'}
|
|
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="body">
|
|
<tr valign="top" class="body">
|
|
<td style="width: 50%;"><b>{osb f=tf field=price_recurr_type}</b></td>
|
|
</tr>
|
|
<tr valign="top" class="body">
|
|
<td style="width: 50%;">
|
|
<select name="recurr_schedule">
|
|
{foreach from=$price item=price_recurr key=key}
|
|
<option value="{$key}" {if $product.price_recurr_default == $key} selected="selected"{/if}>
|
|
{$list->format_currency($price_recurr.base,$smarty.const.SESS_CURRENCY)}
|
|
{$list->menu_staticlist('recur_schedule','','',$key,'form_menu')}
|
|
{if $price_recurr.setup > 0}+ {$list->format_currency($price_recurr.setup,$smarty.const.SESS_CURRENCY)} {t}Setup{/t}{/if}
|
|
</option>
|
|
{/foreach}
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
{else}
|
|
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="body">
|
|
<tr valign="top" class="body">
|
|
<td style="width: 50%;"><b>{osb f=tf field=price_base}</b></td>
|
|
<td style="width: 50%;"><b>{osb f=tf field=price_setup}</b></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td style="width: 50%;">{$list->format_currency($price.base,$smarty.const.SESS_CURRENCY)}</td>
|
|
<td style="width: 50%;">{$list->format_currency($price.setup,$smarty.const.SESS_CURRENCY)}</td>
|
|
</tr>
|
|
</table>
|
|
{/if}
|
|
{if $product.price_type == '2'}
|
|
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="body">
|
|
<tr valign="top">
|
|
<td width="76%">
|
|
{translate module=product sku=$trial.sku}trial_desc{/translate} <a href="?_page=product:details&id={$product.price_trial_prod}">{translate}view{/translate}</a><br/>
|
|
{if $product.price_trial_length_type == "0"}{translate module=product sku1=$trial.sku length=$product.price_trial_length}trial_length_days{/translate}{/if}
|
|
{if $product.price_trial_length_type == "1"}{translate module=product sku1=$trial.sku length=$product.price_trial_length}trial_length_weeks{/translate}{/if}
|
|
{if $product.price_trial_length_type == "2"}{translate module=product sku1=$trial.sku length=$product.price_trial_length}trial_length_months{/translate}{/if}<br/>
|
|
{translate module=product sku2=$trial.sku}trial_bill_desc{/translate}
|
|
This trial will last for %%length%% weeks before it expires and you are billed for the full cost of SKU %%sku1%%.
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
{/if}
|
|
{if $attr}
|
|
<br/>
|
|
{foreach from=$attr item=attr_arr key=key}
|
|
{assign var=attr_id value=$attr_arr.id}
|
|
{if $attr_arr.type == '0'}
|
|
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="body">
|
|
<tr valign="middle" class="body">
|
|
<td width="96%">
|
|
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="body">
|
|
<tr>
|
|
<td width="70%" valign="middle"><b>{$attr_arr.name}</b></td>
|
|
<td width="30%" valign="middle" align="right">
|
|
{if $attr_arr.price_base != 0}{$list->format_currency_num($attr_arr.price_base, $smarty.const.SESS_CURRENCY)}{/if}
|
|
{if $attr_arr.price_setup != 0}
|
|
{if $attr_arr.price_base != 0} + {/if}
|
|
{$list->format_currency_num($attr_arr.price_setup, $smarty.const.SESS_CURRENCY)}
|
|
{t}Setup{/t}
|
|
{/if}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td width="96%"><input type="checkbox" name="attr[{$attr_id}]" value="Yes" {if $VAR.attr[$attr_id] || $attr_arr.default}checked="checked"{/if}/>{$attr_arr.description}</td>
|
|
</tr>
|
|
</table>
|
|
{elseif $attr_arr.type == "1"}
|
|
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="body">
|
|
<tr valign="middle" class="body">
|
|
<td width="96%">
|
|
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="body">
|
|
<tr>
|
|
<td width="70%" valign="middle"><b>{$attr_arr.name}</b></td>
|
|
<td width="30%" valign="middle" align="right">
|
|
{if $attr_arr.price_base != 0}{$list->format_currency_num($attr_arr.price_base, $smarty.const.SESS_CURRENCY)}{/if}
|
|
{if $attr_arr.price_setup != 0}
|
|
{if $attr_arr.price_base != 0} + {/if}
|
|
{$list->format_currency_num($attr_arr.price_setup, $smarty.const.SESS_CURRENCY)}
|
|
{t}Setup{/t}
|
|
{/if}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td width="96%"><input type="text" id="attr_{$attr_id}" name="attr[{$attr_id}]" size="20"/>{$attr_arr.description}</td>
|
|
</tr>
|
|
</table>
|
|
{elseif $attr_arr.type == "3"}
|
|
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="body">
|
|
<tr valign="middle" class="body">
|
|
<td width="96%">
|
|
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="body">
|
|
<tr>
|
|
<td width="70%" valign="middle"><b>{$attr_arr.name}</b></td>
|
|
<td width="30%" valign="middle" align="right">
|
|
{if $attr_arr.price_base != 0}{$list->format_currency_num($attr_arr.price_base, $smarty.const.SESS_CURRENCY)}{/if}
|
|
{if $attr_arr.price_setup != 0}
|
|
{if $attr_arr.price_base != 0} + {/if}
|
|
{$list->format_currency_num($attr_arr.price_setup, $smarty.const.SESS_CURRENCY)}
|
|
{t}Setup{/t}
|
|
{/if}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td width="96%"><textarea id="attr_{$attr_id}" name="attr[{$attr_id}]2" cols="50" rows="3"></textarea> {$attr_arr.description}</td>
|
|
</tr>
|
|
</table>
|
|
{elseif $attr_arr.type == '2'}
|
|
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="body">
|
|
<tr valign="middle" class="body">
|
|
<td width="96%">
|
|
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="body">
|
|
<tr>
|
|
<td width="70%" valign="middle"><b>{$attr_arr.name}</b></td>
|
|
<td width="30%" valign="middle" align="right"> </td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td width="96%">
|
|
<select id="attr_{$attr_id}" name="attr[{$attr_id}]">
|
|
{foreach from=$attr_arr.default item=attr_menu key=attr_key}
|
|
<option value="{$attr_menu.name}">
|
|
{$attr_menu.name}
|
|
{if $attr_menu.base > 0}: {$list->format_currency_num($attr_menu.base, $smarty.const.SESS_CURRENCY)}{/if}
|
|
{if $attr_menu.base > 0 && $attr_menu.setup > 0} + {elseif $attr_menu.base <= 0 && $attr_menu.setup > 0}: {/if}
|
|
{if $attr_menu.setup > 0}
|
|
{$list->format_currency_num($attr_menu.setup, $smarty.const.SESS_CURRENCY)}
|
|
{t}Setup{/t}
|
|
{/if}
|
|
</option>
|
|
{/foreach}
|
|
</select>
|
|
|
|
{$attr_arr.description}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
{/if}
|
|
{/foreach}
|
|
{/if}
|
|
{if $product.host}
|
|
<br/>
|
|
<table width="100%" border="0" cellspacing="3" cellpadding="1" class="body">
|
|
<tr valign="middle" class="body">
|
|
<td width="96%">
|
|
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="body">
|
|
<tr>
|
|
<td width="70%" valign="middle"><b>{t}Domain Transfer / Registrations Options{/t}</b></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td width="96%">
|
|
{if $product.host_allow_domain}
|
|
<input type="radio" id="register" name="domain_type" value="register" onClick="domainUpdate('0','0','register'); showIFrame('iframeDomainDetails',480,95,'?_page=host_tld:iframe_register&_escape=1');"> {translate module=product}domain_register{/translate}<br/>
|
|
<input type="radio" id="transfer" name="domain_type" value="transfer" onClick="domainUpdate('0','0','transfer'); showIFrame('iframeDomainDetails',480,110,'?_page=host_tld:iframe_transfer&_escape=1');"> {translate module=product}domain_transfer{/translate}<br/>
|
|
{/if}
|
|
<input type="radio" id="ns_transfer" name="domain_type" value="ns_transfer" onClick="domainUpdate('0','0','ns_transfer'); showIFrame('iframeDomainDetails',480,70,'?_page=host_tld:iframe_ns_transfer&_escape=1');">{translate module=product}domain_ns_transfer{/translate}
|
|
{if $product.host_allow_host_only}
|
|
<br/>
|
|
<input type="radio" id="ip" name="domain_type" value="ip" onClick="domainUpdate('0','0','ip'); hideIFrame('iframeDomainDetails');">{t}All I need is an IP based hosting plan.{/t}<br/>
|
|
{/if}
|
|
<input type="hidden" id="domain_name" name="domain_name" value="0">
|
|
<input type="hidden" id="domain_tld" name="domain_tld" value="0">
|
|
<input type="hidden" id="domain_option" name="domain_option" value="0">
|
|
<iframe name="iframeDomainDetails" id="iframeDomainDetails" style="border:0px; width:100%; height:0px;" scrolling="no" width="100%" allowtransparency="false" frameborder="0" class="body" SRC="themes/{$THEME_NAME}/IEFrameWarningBypass.htm"><br></iframe>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
{/if}
|
|
<script type="text/javascript" src="themes/default/cart.js"></script>
|
|
<script type="text/javascript">
|
|
<!-- START
|
|
{literal}
|
|
function CurrencyChange(obj) { document.location='?_page=product:details&id={/literal}{$VAR.id}{literal}&cyid='+obj.value; }
|
|
function attrValidate(addtype) {
|
|
|
|
var val_arr = new Array(2);
|
|
var i=0;
|
|
{/literal} {foreach from=$attr item=attr_arr key=key} {assign var=attr_id value=$attr_arr.id}{if $attr_arr.required == "1"}
|
|
val_arr[i] = new Array ('attr_{$attr_id}','{$attr_arr.name}','{$attr_arr.type}');
|
|
i++;
|
|
{/if}{/foreach} {literal}
|
|
for(ii=0; ii < i; ii++)
|
|
{
|
|
if(!document.getElementById(val_arr[ii][0]).value) {
|
|
document.getElementById(val_arr[ii][0]).focus();
|
|
if(val_arr[ii][2] == "1") {
|
|
alert("You must select an option for \""+val_arr[ii][1]+"\"");
|
|
} else {
|
|
alert("You must enter a value for the product option \""+val_arr[ii][1]+"\"")
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// product plugin validation:
|
|
var val_plugin=false;
|
|
try{ val_plugin = product_plugin_validate(); } catch(e) { val_plugin = true; }
|
|
if(val_plugin) doCart(addtype);
|
|
}
|
|
{/literal}
|
|
//-->
|
|
</script>
|
|
{/if}
|
|
</td>
|
|
</tr>
|
|
{if $product.cart_multiple}
|
|
<tr valign="top">
|
|
<td align="left"><strong>Quantity:</strong> <input name="quantity" type="text" id="quantity" value="1" size="3" maxlength="3"></td>
|
|
</tr>
|
|
{/if}
|
|
|
|
{if $product.prod_plugin}
|
|
<tr valign="top">
|
|
<td align="left">{osb f=plugin type=product name=$product.prod_plugin_file name_prefix=order_ data=$product.prod_plugin_data}</td>
|
|
</tr>
|
|
{/if}
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<div>
|
|
<input type="hidden" id="page" name="_page" value=""/>
|
|
<input type="hidden" name="do[]" value="cart:add"/>
|
|
<input type="hidden" name="product_id" value="{$product.id}"/>
|
|
<input type="hidden" name="s" value="{$SESS}"/>
|
|
</div>
|
|
|
|
</form>
|
|
<p style="text-align: center;">
|
|
<input type="submit" onclick="addCart('cart','{$product.host}')" name="cart2" value="{t}Add to Cart{/t}" class="form_button"/>
|
|
<input type="submit" onclick="addCart('checkout','{$product.host}')" name="checkout2" value="{t}Add to Cart & Checkout{/t}" class="form_button"/>
|
|
</p>
|