Page Menu
Home
In-Portal Phabricator
Search
Configure Global Search
Log In
Files
F872200
modern-store
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, May 8, 11:52 AM
Size
53 KB
Mime Type
text/x-diff
Expires
Sat, May 10, 11:52 AM (1 d, 5 h)
Engine
blob
Format
Raw Data
Handle
617839
Attached To
rTMST Themes.Modern-Store
modern-store
View Options
Index: branches/1.0.x/checkout.tpl
===================================================================
--- branches/1.0.x/checkout.tpl (revision 14821)
+++ branches/1.0.x/checkout.tpl (revision 14822)
@@ -1,367 +1,391 @@
<!--##
<NAME>One Step Checkout</NAME>
<DESC></DESC>
<SECTION>Pages||Checkout</SECTION>
##-->
<inp2:m_DefineElement name="page_title">One Step Checkout</inp2:m_DefineElement>
<!--## MAIN CONTENT ##-->
<inp2:m_DefineElement name="content">
<ul class="steps">
<li class="step1"><a href="<inp2:m_Link template='cart'/>"><i></i>Shopping Cart</a></li>
<li class="step2 active"><a href="#"><i></i>One-step Checkout</a></li>
<li class="step3"><span><i></i>Receipt</span></li>
</ul>
<div class="clear"></div>
<div class="cart-detail">
<h1>One-Step Checkout</h1>
<form method="post" action="<inp2:m_FormAction/>" id="checkout-form" class="form checkout-form">
<script type="text/javascript">
FormManager.resetFields('ord');
</script>
<inp2:ord_ShowDefaultAddress type="billing"/>
<inp2:ord_ShowDefaultAddress type="shipping"/>
<div class="halfcol">
<fieldset class="firstline">
<inp2:m_ifnot check="m_LoggedIn">
<div class="login-alt">
Continue as Guest or
<div class="login">
<a href="" id="login-alt">Log In</a>
</div>
</div>
</inp2:m_ifnot>
<inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="BillingEmail" title="lu_fld_YourEmail"/>
</fieldset>
<fieldset>
<div class="fieldset">
Billing Address
</div>
<inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="BillingTo" title="lu_fld_FullName"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="BillingCompany" title="lu_fld_Company"/>
<inp2:m_RenderElement name="inp_edit_address" prefix="ord" field="BillingAddress1" field2="BillingAddress2" title="lu_fld_Address"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="BillingCity" title="lu_fld_City"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="ord" field="BillingCountry" title="lu_fld_Country" has_empty="1" empty_label="lu_opt_SelectCountry"/>
+ <inp2:m_RenderElement name="inp_edit_country" prefix="ord" field="BillingCountry" state_field="BillingState" title="lu_fld_Country" has_empty="1" empty_label="lu_opt_SelectCountry"/>
<!-- TODO: preload states by country -->
<inp2:m_RenderElement name="inp_edit_options" prefix="ord" field="BillingState" title="lu_fld_State" has_empty="1" row_class="alt1"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="BillingZip" title="lu_fld_Zip" row_class="alt2"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="BillingPhone" title="lu_fld_Phone"/>
</fieldset>
<fieldset class="creditcard">
<div class="fieldset">
Payment Information
</div>
<div class="creditcards">
- <span><img src="<inp2:m_TemplatesBase/>img/creditcards.jpg" width="245" height="39" alt="" /></span>
- <span class="paypal"><img src="<inp2:m_TemplatesBase/>img/paypal.jpg" width="98" height="45" alt="" /></span>
+ <inp2:m_if check='ord_UsingCreditCard'>
+ <span><img src="<inp2:m_TemplatesBase/>img/creditcards.jpg" width="245" height="39" alt="" /></span>
+ </inp2:m_if>
+
+ <inp2:m_if check="pt.gw-paypal_Field" name="PaymentTypeId" gateway="PayPal">
+ <span<inp2:m_if check='ord_UsingCreditCard'> class="paypal"</inp2:m_if>>
+ <a href="#" id="paypal" payment_type="<inp2:pt.gw-paypal_Field name='PaymentTypeId' gateway='PayPal'/>">
+ <img src="<inp2:m_TemplatesBase/>img/paypal.jpg" width="98" height="45" alt="" />
+ </a>
+ </span>
+
+ <script type="text/javascript">
+ $(document).ready(
+ function () {
+ $('#paypal').click(
+ function ($e) {
+ FormManager.getField('ord', 'PaymentType').value = $(this).attr('payment_type');
+ FormManager.submitForm('ord');
+
+ return false;
+ }
+ );
+ }
+ );
+ </script>
+ </inp2:m_if>
</div>
- <inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="PaymentAccount" title="lu_fld_CreditCardNumber"/>
+ <inp2:m_if check='ord_UsingCreditCard'>
+ <inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="PaymentAccount" title="lu_fld_CreditCardNumber"/>
- <inp2:m_RenderElement design="form_row" prefix="ord" field="PaymentCCExpDate" title="lu_fld_ExpirationDate" row_class="alt1 expdate" field_type="cc_expiration">
- <select class="field" name="<inp2:ord_InputName field='PaymentCCExpMonth'/>" id="<inp2:ord_InputName field='PaymentCCExpMonth'/>">
- <inp2:ord_PredefinedOptions field="PaymentCCExpMonth" render_as="inp_option_item" selected="selected"/>
- </select> /
- <select class="field" name="<inp2:ord_InputName field='PaymentCCExpYear'/>" id="<inp2:ord_InputName field='PaymentCCExpYear'/>">
- <option value=''></option>
- <inp2:ord_PrintYearOptions field="PaymentCCExpYear" render_as="inp_option_item" selected="selected"/>
- </select>
- </inp2:m_RenderElement>
-
- <inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="PaymentCVV2" title="lu_fld_SecurityCode" row_class="alt2"/>
+ <inp2:m_RenderElement design="form_row" prefix="ord" field="PaymentCCExpDate" title="lu_fld_ExpirationDate" row_class="alt1 expdate" field_type="cc_expiration">
+ <select class="field" name="<inp2:ord_InputName field='PaymentCCExpMonth'/>" id="<inp2:ord_InputName field='PaymentCCExpMonth'/>">
+ <inp2:ord_PredefinedOptions field="PaymentCCExpMonth" render_as="inp_option_item" selected="selected"/>
+ </select> /
+ <select class="field" name="<inp2:ord_InputName field='PaymentCCExpYear'/>" id="<inp2:ord_InputName field='PaymentCCExpYear'/>">
+ <option value=''></option>
+ <inp2:ord_PrintYearOptions field="PaymentCCExpYear" render_as="inp_option_item" selected="selected"/>
+ </select>
+ </inp2:m_RenderElement>
+
+ <inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="PaymentCVV2" title="lu_fld_SecurityCode" row_class="alt2"/>
+ <input type="hidden" name="check_credit_card" id="check_credit_card" value="true"/>
+ </inp2:m_if>
</fieldset>
</div>
<div class="halfcol halfcol-last">
<inp2:m_ifnot check="m_LoggedIn">
<div class="badge-optional"></div>
<fieldset class="firstline" id="create-account-password">
<p>
<label><input type="checkbox" id="create_account" name="create_account" value="1"<inp2:m_if check="m_Get" name="create_account"> checked</inp2:m_if>/> Create account for easy purchases and order tracking</label>
</p>
<inp2:m_RenderElement name="inp_edit_password" prefix="ord" field="UserPassword" title="lu_fld_Password" verify_title="lu_fld_VerifyPassword"/>
</fieldset>
</inp2:m_ifnot>
<fieldset>
<div class="fieldset">
<label>
<input type="checkbox" id="same_as_billing" name="same_as_billing" value="1"<inp2:m_if check="ord_AddressesTheSame"> checked</inp2:m_if>/> Ship To Address is the same as Billing
</label>
</div>
<div id="shipping-address"<inp2:m_if check="ord_AddressesTheSame"> style="display: none;"</inp2:m_if>>
<inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="ShippingTo" title="lu_fld_FullName"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="ShippingCompany" title="lu_fld_Company"/>
<inp2:m_RenderElement name="inp_edit_address" prefix="ord" field="ShippingAddress1" field2="ShippingAddress2" title="lu_fld_Address"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="ShippingCity" title="lu_fld_City"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="ord" field="ShippingCountry" title="lu_fld_Country" has_empty="1" empty_label="lu_opt_SelectCountry"/>
+ <inp2:m_RenderElement name="inp_edit_country" prefix="ord" field="ShippingCountry" state_field="ShippingState" title="lu_fld_Country" has_empty="1" empty_label="lu_opt_SelectCountry"/>
<!-- TODO: preload states by country -->
<inp2:m_RenderElement name="inp_edit_options" prefix="ord" field="ShippingState" title="lu_fld_State" has_empty="1" row_class="alt1"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="ord" field="ShippingZip" title="lu_fld_Zip" row_class="alt2"/>
</div>
<p id="shipping-type-container">
<inp2:m_include template="elements/ajax/shipping_type"/>
</p>
<div class="safe-shop" id="shipping-address-placeholder"<inp2:m_ifnot check="ord_AddressesTheSame"> style="display: none;"</inp2:m_ifnot>>
<p class="title">100% Safe & Secure Shopping</p>
<ul class="list">
<li>All Transactions are Encrypted</li>
<li>Your Information is Protected</li>
<li>No Hidden Charges</li>
<li>Satisfaction Guaranteed</li>
</ul>
</div>
</fieldset>
<fieldset>
<div class="fieldset">
Your Order Summary (<inp2:orditems_TotalRecords/> Items)
<a href="#" class="link">View Order Details</a>
</div>
<dl class="total">
- <dt>Subtotal</dt>
- <dd>$1,759.99</dd>
- <dt class="discount">Discount:</dt>
- <dd class="price2">- $10.00</dd>
- <dt>Shipping</dt>
- <dd class="price3">$100.00</dd>
- <dt>Tax</dt>
- <dd class="price3">$100.00</dd>
- <dt>Order Total</dt>
- <dd class="price4">$1,959.99</dd>
+ <inp2:m_include template="elements/ajax/order_totals"/>
</dl>
<div class="clear"></div>
<div class="terms">
<label><input type="checkbox" id="terms" name="terms" value="yes" checked="true" /> I Agree to Terms and Conditions</label>
</div>
<p class="buttons">
<a href="#" class="place-button"><span>Place Order</span></a>
</p>
</fieldset>
</div>
<div class="clear"></div>
<inp2:m_RenderElement name="inp_edit_hidden" prefix="ord" field="PaymentType" db="db"/>
-
<input type="hidden" name="check_billing_address" id="check_billing_address" value="true"/>
<input type="hidden" name="check_shipping_address" id="check_shipping_address" value="true"/>
- <input type="hidden" name="check_credit_card" id="check_credit_card" value="true"/>
</form>
+
+ <inp2:m_include template="elements/ajax/payment_form"/>
</div>
<script type="text/javascript">
function CheckoutManager() {}
CheckoutManager.sameAsBilling = <inp2:m_if check="ord_AddressesTheSame">true<inp2:m_else/>false</inp2:m_if>;
CheckoutManager.addressFields = ['To', 'Company', 'Address1', 'Address2', 'City', 'Country', 'State', 'Zip'];
CheckoutManager.initAddressFields = function () {
var $me = this;
$(this.addressFields).each(
function () {
var $field = this.toString();
$( FormManager.getField('ord', 'Billing' + $field) ).change(
function ($e) {
if ( $me.sameAsBilling ) {
$( FormManager.getField('ord', 'Shipping' + $field) ).val( $(this).val() ).change();
}
}
);
$( FormManager.getField('ord', 'Shipping' + $field) ).change(
function ($e) {
if ( !$me.isAddressValid('Shipping') ) {
$('select', '#shipping-type-container').empty().append('<option value="">Please enter address</option>');
return ;
}
$me.updateOrder(
'elements/ajax/shipping_type',
function ($data) {
$('#shipping-type-container').html($data);
}
);
}
);
}
);
}
CheckoutManager.isAddressValid = function ($type) {
var $status = true;
$(this.addressFields).each(
function () {
var $field = this.toString(),
$input = $( FormManager.getField('ord', $type + $field) );
if ( $field == 'Address2' || ($input.is('select') && $('option', $input).length <= 2 ) ) {
// 2nd address line or empty state dropdown
return true;
}
if ( $input.val() == '' ) {
$status = false;
return false;
}
}
);
return $status;
}
- CheckoutManager.updateOrder = function ($return_template, $callback) {
+ CheckoutManager.updateOrder = function ($return_template, $callback, $remove_fields) {
var $me = this,
- $params = $('#checkout-form').serializeArray(),
+ $params = $('#checkout-form').serializeArray();
+
+ if ( $remove_fields === undefined ) {
$remove_fields = ['check_billing_address', 'check_shipping_address', 'check_credit_card'];
+ }
for (var $i in $params) {
if ( in_array($params[$i].name, $remove_fields) ) {
delete $params[$i];
}
}
$.post(
FormManager.getURL('ord', $return_template, 'OnUpdate'),
$params,
function ($data) {
var $redirect = TB.parseRedirect($data);
if ( $redirect !== false ) {
window.location.href = $redirect;
return ;
}
$callback.apply($me, [$data]);
}
)
}
CheckoutManager.copyAddress = function () {
$(this.addressFields).each(
function () {
var $field = this.toString();
$( FormManager.getField('ord', 'Shipping' + $field) ).val( $( FormManager.getField('ord', 'Billing' + $field) ).val() );
}
);
$( FormManager.getField('ord', 'ShippingAddress1') ).change();
}
CheckoutManager.init = function () {
var $me = this;
this.sameAsBilling = $('#same_as_billing').is(':checked');
$('#same_as_billing').click(
function ($e) {
$me.sameAsBilling = $(this).is(':checked');
if ($me.sameAsBilling) {
$me.copyAddress();
}
$('#shipping-address').toggle(!$me.sameAsBilling);
$('#shipping-address-placeholder').toggle($me.sameAsBilling);
}
);
$('#create_account').click(
function ($e) {
$('.password-block').toggle( $(this).is(':checked') );
}
);
$('#login-alt').click(
function ($e) {
var $login_link = $('#login');
if ( !$login_link.parents('.login:first').hasClass('plashka-sel') ) {
$login_link.click();
}
return false;
}
);
$('body').bind(
'OnAfterLogin',
function ($e, $params) {
// 1. remove login button
$('.login-alt').remove();
// 2. remove user password controls
$('#create-account-password, .badge-optional').remove();
FormManager.unregisterField('ord', 'UserPassword');
FormManager.unregisterField('ord', 'VerifyUserPassword');
// 3. put user e-mail into the form
FormManager.setFieldStatus('ord', 'BillingEmail');
FormManager.getField('ord', 'BillingEmail').value = $params['user_email'];
}
)
this.initAddressFields();
}
$(document).ready(
function () {
FormManager.registerForm(
{
prefix: 'ord',
- save_event: 'OnCombinedPlaceOrder',
+ save_event: 'OnUpdateAjax',
id: '<inp2:ord_Field name="OrderId"/>',
- form_id: 'checkout-form'
- }
- );
+ form_id: 'checkout-form',
+ before_close: function ($data, $add_params) {
+ // when all form data is valid
- $('.place-button').click(
- function ($e) {
- FormManager.submitForm('ord');
-
- return false;
+ CheckoutManager.updateOrder(
+ 'elements/ajax/payment_form',
+ function ($data) {
+ $('#payment-form').replaceWith($data);
+ $('#payment-form').submit();
+ }
+ );
+ }
}
);
- $('#checkout-form').submit(
+ $('.place-button').click(
function ($e) {
FormManager.submitForm('ord');
return false;
}
);
CheckoutManager.init();
}
);
$('.password-block').toggle( $('#create_account').is(':checked') );
</script>
</inp2:m_DefineElement>
<!--## /MAIN CONTENT ##-->
<!--## DESIGN TEMPLATE ##-->
<inp2:m_Set check_credit_card="true"/>
<inp2:m_include template="designs/default_design.des" pass_params="1"/>
<!--## /DESIGN TEMPLATE ##-->
\ No newline at end of file
Index: branches/1.0.x/inc/js/jquery.scripts.js
===================================================================
--- branches/1.0.x/inc/js/jquery.scripts.js (revision 14821)
+++ branches/1.0.x/inc/js/jquery.scripts.js (revision 14822)
@@ -1,188 +1,195 @@
/* === General usage functions === */
function jq($selector) {
return $selector.replace(/(\[|\]|\.)/g, '\\$1');
}
function in_array(needle, haystack)
{
return array_search(needle, haystack) != -1;
}
function array_search(needle, haystack)
{
for (var i=0; i<haystack.length; i++)
{
if (haystack[i] == needle) return i;
}
return -1;
}
Array.prototype.diff = function(a) {
return this.filter(
function (i) {
return a.indexOf(i) == -1;
}
);
};
+function get_control($mask, $field, $append, $prepend) {
+ $append = $append !== undefined ? '_' + $append : '';
+ $prepend = $prepend !== undefined ? $prepend + '_' : '';
+
+ return document.getElementById( $prepend + $mask.replace('#FIELD_NAME#', $field) + $append );
+}
+
function update_checkbox_options($cb_mask, $hidden_id, $form_id)
{
var $tmp = '',
$kf = document.getElementById($form_id !== undefined ? $form_id : $form_name);
for (var i = 0; i < $kf.elements.length; i++) {
if ( $kf.elements[i].id.match($cb_mask) ) {
if ($kf.elements[i].checked) {
$tmp += '|'+$kf.elements[i].value;
}
}
}
if ($tmp.length > 0) {
$tmp += '|';
}
document.getElementById($hidden_id).value = $tmp.replace(/,$/, '');
}
/* === DBlocks class === */
function DBlocks() {
var $me = this;
this.selectors = ['#lang', '#currency', '#login', /*'#login-alt',*/ '#profile'];
$(document).ready(
function () {
$me.init();
}
);
}
DBlocks.prototype.init = function () {
var $manager = this;
$( this.selectors.join(', ') ).unbind('click').click(
function($e, $now) {
var $me = $(this),
$parent = $me.parent();
if ( $parent.is('.plashka-sel') ) {
$parent.removeClass('plashka-sel');
if ( $now === undefined || $now === false ) {
$('#' + $me.attr('id') + '-sel').fadeOut();
}
else {
$('#' + $me.attr('id') + '-sel').hide();
}
}
else {
$manager.hideOthers($me);
$parent.addClass('plashka-sel');
$('#' + $me.attr('id') + '-sel').fadeIn();
}
return false;
}
);
$('.icon-close').click(
function() {
$('#login').parent().removeClass('plashka-sel'); // ,#login-alt
$('#login-sel').fadeOut(); // , #login-alt-sel
return false;
}
);
}
DBlocks.prototype.hideOthers = function ($current) {
$( this.selectors.join(', ') ).not($current).each(
function () {
var $me = $(this),
$parent = $me.parent();
if ( $parent.is('.plashka-sel') ) {
$me.trigger('click', [true]);
}
}
);
}
/* === RatingManager class === */
function RatingManager ($url) {
this.Url = $url;
}
RatingManager.prototype.makeVote = function ($vote, $prefix, $id, $size) {
var $url = this.Url.replace('#PREFIX#', $prefix).replace('#VOTE#', $vote).replace('#ID#', $id).replace('#SIZE#', $size);
$.get(
$url,
function ($response) {
if ($response.substring(0, 5) == '@err:') {
alert( $response.substring(5) );
return ;
}
document.getElementById('page_rating_' + $id).innerHTML = $response;
}
)
}
$(document).ready(function()
{
$('#change-password').click(
function($e) {
$('#password-show').hide();
$('#password-block').fadeIn();
return false;
}
);
$('.addtocart, .button-addtocart').click(
function () {
var $me = $(this),
$qty = $me.attr('qty_id') !== undefined ? parseInt($('#' + $me.attr('qty_id')).val()) : 1;
if ( $me.hasClass('addedtocart') ) {
// disabled button
return false;
}
if ( isNaN($qty) ) {
$qty = 1;
}
var $bubble = $('.basketStatus'),
$timer_id = $bubble.data('hide_timer');
clearTimeout($timer_id);
$.get(
$me.attr('href') + '&qty=' + $qty,
function ($bubble_content) {
$('.basketContent', $bubble).html( $bubble_content.replace(/#QTY#/g, $qty) );
$bubble
.stop(true, true)
.fadeIn(
'slow',
function () {
var $timer = setTimeout(function(){ $bubble.fadeOut('slow'); }, 2000);
$bubble.data('hide_timer', $timer);
}
);
if ( $me.hasClass('addtocart') ) {
$me.removeClass('addtocart').addClass('addedtocart').html('Added to Cart');
}
}
);
return false;
}
);
});
\ No newline at end of file
Index: branches/1.0.x/elements/ajax/order_totals.tpl
===================================================================
--- branches/1.0.x/elements/ajax/order_totals.tpl (nonexistent)
+++ branches/1.0.x/elements/ajax/order_totals.tpl (revision 14822)
@@ -0,0 +1,35 @@
+<inp2:m_DefineElement name="sub_total">
+ <dt>Subtotal</dt>
+ <dd><inp2:ord_Field name="AmountWithoutVAT" currency="selected"/></dd>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="shipping_total">
+ <!--##<dt>Shipping</dt>
+ <dd class="price3"><inp2:ord_Field name="ShippingCost" currency="selected"/></dd>
+
+ <dt>Insurance Fee</dt>
+ <dd class="price3"><inp2:ord_Field name="InsuranceFee" currency="selected"/></dd>##-->
+
+ <dt>Shipping</dt>
+ <dd class="price3"><inp2:ord_Field name="ShippingSubTotal" currency="selected"/></dd>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="processing_total">
+ <dt>Processing Fee</dt>
+ <dd class="price3"><inp2:ord_Field name="ProcessingFee" currency="selected"/></dd>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="vat_total">
+ <dt>Tax <inp2:ord_Field name="VATPercent"/>%</dt>
+ <dd class="price3"><inp2:ord_Field name="VAT" currency="selected"/></dd>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="discount_total">
+ <dt class="discount">Discount:</dt>
+ <dd class="price2">- <inp2:ord_Field name="DiscountTotal" currency="selected" /></dd>
+</inp2:m_DefineElement>
+
+<inp2:ord_PrintTotals sub_total_render_as="sub_total" discount_render_as="discount_total" shipping_render_as="shipping_total" processing_render_as="processing_total" vat_render_as="vat_total"/>
+
+<dt>Order Total</dt>
+<dd class="price4"><inp2:ord_Field name="TotalAmount" currency="selected"/></dd>
\ No newline at end of file
Index: branches/1.0.x/elements/ajax/shipping_type.tpl
===================================================================
--- branches/1.0.x/elements/ajax/shipping_type.tpl (revision 14821)
+++ branches/1.0.x/elements/ajax/shipping_type.tpl (revision 14822)
@@ -1,24 +1,42 @@
<inp2:m_DefineElement name="no_shipments">
<div class="field-error"><inp2:m_Recall name="usps_errors"/></div>
<inp2:m_Phrase label="lu_comm_ErrorNoShippingTypes"/><!-- (<a href="mailto:<inp2:conf_ConfigValue name="Comm_Contacts_Email"/>"><inp2:conf_ConfigValue name="Comm_Contacts_Email"/></a>).-->
</inp2:m_DefineElement>
<inp2:m_DefineElement name="order_shipping_type">
- <option <inp2:m_param name="selected"/> value="<inp2:m_param name='ShippingId'/>"><inp2:m_param name="ShippingName"/> (<inp2:m_if check="m_param" name="ShippingFree" value="1"><inp2:m_Phrase label="lu_comm_FreeShipping" /><inp2:m_else/><inp2:m_param name="TotalCost"/></inp2:m_if>)</option>
+ <option <inp2:m_param name="selected"/> value="<inp2:m_param name='ShippingId'/>"> <inp2:m_param name="ShippingName"/> (<inp2:m_if check="m_param" name="ShippingFree" value="1"><inp2:m_Phrase label="lu_comm_FreeShipping" /><inp2:m_else/><inp2:m_param name="TotalCost"/></inp2:m_if>)</option>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="order_shipment">
<select class="field" name="<inp2:m_param name='field_name'/>">
+ <option value="">Please select</option>
<inp2:ord_PrintShippingTypes render_as="order_shipping_type" currency="selected"/>
</select>
</inp2:m_DefineElement>
<label for="ship">How would you like the items shipped? <span class="star">*</span></label>
<inp2:m_if check="ord_AddressValid" type="shipping">
<inp2:ord_PrintShippings render_as="order_shipment" currency="selected" no_shipments_render_as="no_shipments"/>
<inp2:m_else/>
<select class="field" name="<inp2:ord_InputName name='ShippingTypeId'/>[1]">
<option value="">Please enter address</option>
</select>
</inp2:m_if>
+
+<script type="text/javascript">
+ $(document).ready(
+ function () {
+ $('select', '#shipping-type-container').change(
+ function ($e) {
+ CheckoutManager.updateOrder(
+ 'elements/ajax/order_totals',
+ function ($data) {
+ $('.total').html($data);
+ }
+ );
+ }
+ );
+ }
+ );
+</script>
\ No newline at end of file
Index: branches/1.0.x/elements/ajax/register.tpl
===================================================================
--- branches/1.0.x/elements/ajax/register.tpl (revision 14821)
+++ branches/1.0.x/elements/ajax/register.tpl (revision 14822)
@@ -1,82 +1,81 @@
<!--<link rel="stylesheet" type="text/css" href="<inp2:m_Compress files='inc/profile.css'/>" charset="<inp2:lang.current_Field name='Charset'/>"/>-->
<script type="text/javascript">
FormManager.resetFields('u.register');
</script>
<inp2:m_Include template="elements/forms.elm" strip_nl="2"/>
<inp2:u.register_FormName name="registration"/>
<div class="profile registerpage">
<div class="profile-title">
<h1>Registration</h1>
<p class="req">Required fields are marked by <span class="star">*</span></p>
<div class="clear"></div>
</div>
<form method="post" action="<inp2:m_FormAction/>" id="register_form" class="form profile-form">
<div class="halfcol">
<inp2:m_RenderElement name="inp_edit_box" prefix="u.register" field="FirstName"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="u.register" field="LastName"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="u.register" field="Company"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="u.register" field="Email"/>
<inp2:m_RenderElement name="inp_edit_radio" prefix="u.register" field="SubscribeToMailing"/>
<inp2:m_RenderElement name="inp_edit_password" prefix="u.register" field="Password"/>
</div>
<div class="halfcol halfcol-last">
<inp2:m_RenderElement name="inp_edit_address" prefix="u.register" field="Street" field2="Street2" title="lu_fld_Address"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="u.register" field="City"/>
- <inp2:m_RenderElement name="inp_edit_options" prefix="u.register" field="Country" has_empty="1" empty_label="lu_opt_SelectCountry"/>
+ <inp2:m_RenderElement name="inp_edit_country" prefix="u.register" field="Country" state_field="State" has_empty="1" empty_label="lu_opt_SelectCountry"/>
- <!-- TODO: preload states by country -->
<inp2:m_RenderElement name="inp_edit_options" prefix="u.register" field="State" has_empty="1"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="u.register" field="Zip" row_class="alt2"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="u.register" field="Phone"/>
</div>
<div class="clear"></div>
<div class="terms">
<label><input type="checkbox" id="terms" name="terms" value="yes" checked="true" /> I Agree to Terms and Conditions</label>
</div>
<inp2:m_RenderElement design="inp_edit_buttons">
<input type="submit" value="Register" class="green-button" disabled/>
<input type="reset" value="Cancel" class="grey-button" />
</inp2:m_RenderElement>
<input type="hidden" name="forms[u.register]" value="<inp2:u.register_FormName/>"/>
</form>
</div>
<script type="text/javascript">
$(document).ready(
function () {
FormManager.registerForm(
{
prefix: 'u.register',
save_event: 'OnRegisterAjax',
id: '<inp2:u.register_Field name="PortalUserId"/>',
form_id: 'register_form'
}
);
$('#register_form').submit(
function ($e) {
FormManager.submitForm('u.register');
return false;
}
);
$('input[type=reset]', '#register_form').click(
function ($e) {
FormManager.closeForm('u.register');
return false;
}
);
}
);
</script>
Index: branches/1.0.x/elements/ajax/payment_form.tpl
===================================================================
--- branches/1.0.x/elements/ajax/payment_form.tpl (nonexistent)
+++ branches/1.0.x/elements/ajax/payment_form.tpl (revision 14822)
@@ -0,0 +1,7 @@
+<form id="payment-form" method="post" action="<inp2:ord_GetFormAction/>">
+ <inp2:ord_GetFormHiddenFields return_template="receipt" cancel_template="checkout"/>
+
+ <!--##<inp2:m_if check="ord_NeedsPlaceButton">
+ <input type="submit" value="<inp2:m_Phrase label='lu_order_CompleteOrder'/>"/>
+ </inp2:m_if>##-->
+</form>
\ No newline at end of file
Index: branches/1.0.x/elements/forms.elm.tpl
===================================================================
--- branches/1.0.x/elements/forms.elm.tpl (revision 14821)
+++ branches/1.0.x/elements/forms.elm.tpl (revision 14822)
@@ -1,412 +1,453 @@
<inp2:m_Set tab_index="1"/>
<inp2:m_DefineElement name="subsection">
<tr class="subsection">
<td colspan="2">
<h2><inp2:m_Phrase label="$title"/></h2>
</td>
</tr>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_buttons" style="">
<p class="buttons" style="<inp2:m_Param name='style'/>">
<inp2:m_Param name="content"/>
</p>
<div class="clear"></div>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="form_row_full" is_last="0">
<tr class="field-row<inp2:m_if check='m_Param' name='is_last'>-last</inp2:m_if>">
<td colspan="2">
<inp2:m_Param name="content"/>
</td>
</tr>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_field_separator" no_editing="1" is_last="0">
<inp2:m_if check="m_ParamEquals" name="is_last" value="0">
<!--<hr/>-->
</inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="form_row" row_class='' prefix="" field="" error_field_suffix="" title="lu_fld_{$field}" hint_label="" is_last="0" field_type="" error_position="top" show_length="1">
<inp2:m_inc param="tab_index" by="1"/>
<p class="<inp2:m_Param name='row_class'/><inp2:m_if check='{$prefix}_HasError' field='{$field}{$error_field_suffix}'> error</inp2:m_if>">
<label class="field-title" for="<inp2:{$prefix}_InputName field='{$field}{$error_field_suffix}'/>">
<inp2:m_Phrase label="$title"/><inp2:m_if check="{$prefix}_IsRequired" field="{$field}{$error_field_suffix}"> <span class="star">*</span></inp2:m_if>
<inp2:m_if check="m_Param" name="error_position" equals_to="top">
<inp2:m_RenderElement name="error_msg_container" pass_params="1"/>
</inp2:m_if>
</label>
<span class="field-content" id="<inp2:{$prefix}_InputName field='$field'/>_field_cell">
<inp2:m_Param name="content" pass_params="1"/>
</span>
<inp2:m_if check="{$prefix}_FieldHintLabel" title_label="$title" direct_label="$hint_label">
<a href="#"><img src="<inp2:m_TemplatesBase/>img/icon-help.png" width="16" height="16" class="help-icon" title="<inp2:$prefix_FieldHintLabel title_label='$title' direct_label='$hint_label' html_escape='1'/>" alt=""/></a>
</inp2:m_if>
<script type="text/javascript">
FormManager.registerField('<inp2:m_Param name="prefix"/>', '<inp2:m_if check="{$prefix}_FieldOption" field="$field" option="formatter" equals_to="kMultiLanguage">l<inp2:m_Get name="m_lang"/>_</inp2:m_if><inp2:m_Param name="field"/>', undefined, '<inp2:m_Param name="field_type"/>');
</script>
</p>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="error_msg_container" style="" error_field_suffix="">
<em class="red" id="<inp2:{$prefix}_InputName field='$field'/>_status_cell" style="<inp2:m_Param name='style'/>">
<inp2:{$prefix}_Error field="{$field}{$error_field_suffix}"/>
</em>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_label" as_label="" title="lu_fld_{$field}" currency="" show_length="0" field_type="label" no_editing="1">
<inp2:m_RenderElement design="form_row" pass_params="1">
<inp2:{$prefix}_Field field="$field" as_label="$as_label" currency="$currency"/>
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_box" style="" title="lu_fld_{$field}" field_type="text" hint_label="" no_editing="1">
<inp2:m_RenderElement design="form_row" pass_params="1">
<input
type="text"
class="field"
<inp2:m_if check="{$prefix}_FieldHintLabel" title_label="$title" direct_label="$hint_label">
title="<inp2:$prefix_FieldHintLabel title_label='$title' direct_label='$hint_label' html_escape='1'/>"
</inp2:m_if/>
name="<inp2:{$prefix}_InputName field='$field'/>"
id="<inp2:{$prefix}_InputName field='$field'/>"
value="<inp2:{$prefix}_Field field='$field'/>"
tabindex="<inp2:m_get param='tab_index'/>"
<inp2:m_if check="{$prefix}_FieldOption" field="$field" option="max_len">
maxlength="<inp2:$prefix_FieldOption field='$field' option='max_len'/>"
</inp2:m_if>
style="<inp2:m_param name='style'/>"
/>
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_rating" style="" title="lu_fld_{$field}" field_type="text" hint_label="" no_editing="1">
<inp2:m_RenderElement design="form_row" pass_params="1">
<img src="<inp2:m_TemplatesBase/>img/star-small.jpg" width="18" height="18" alt="" /><img src="<inp2:m_TemplatesBase/>img/star-small.jpg" width="18" height="18" alt="" /><img src="<inp2:m_TemplatesBase/>img/star-small.jpg" width="18" height="18" alt="" /><img src="<inp2:m_TemplatesBase/>img/star-small.jpg" width="18" height="18" alt="" /><img src="<inp2:m_TemplatesBase/>img/star-small.jpg" width="18" height="18" alt="" />
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_address" style="" title="lu_fld_{$field}" field_type="text" hint_label="" no_editing="1">
<inp2:m_RenderElement design="form_row" pass_params="1">
<input
type="text"
class="field"
<inp2:m_if check="{$prefix}_FieldHintLabel" title_label="$title" direct_label="$hint_label">
title="<inp2:$prefix_FieldHintLabel title_label='$title' direct_label='$hint_label' html_escape='1'/>"
</inp2:m_if/>
name="<inp2:{$prefix}_InputName field='$field'/>"
id="<inp2:{$prefix}_InputName field='$field'/>"
value="<inp2:{$prefix}_Field field='$field'/>"
tabindex="<inp2:m_get param='tab_index'/>"
<inp2:m_if check="{$prefix}_FieldOption" field="$field" option="max_len">
maxlength="<inp2:$prefix_FieldOption field='$field' option='max_len'/>"
</inp2:m_if>
style="<inp2:m_param name='style'/>"
/><br/>
<input
type="text"
class="field"
<inp2:m_if check="{$prefix}_FieldHintLabel" title_label="$title" direct_label="$hint_label">
title="<inp2:$prefix_FieldHintLabel title_label='$title' direct_label='$hint_label' html_escape='1'/>"
</inp2:m_if/>
name="<inp2:{$prefix}_InputName field='$field2'/>"
id="<inp2:{$prefix}_InputName field='$field2'/>"
value="<inp2:{$prefix}_Field field='$field2'/>"
tabindex="<inp2:m_get param='tab_index'/>"
<inp2:m_if check="{$prefix}_FieldOption" field="$field2" option="max_len">
maxlength="<inp2:$prefix_FieldOption field='$field2' option='max_len'/>"
</inp2:m_if>
style="<inp2:m_param name='style'/>"
/>
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_password_single" style="" title="lu_fld_{$field}" field_type="text" hint_label="" no_editing="1">
<inp2:m_RenderElement design="form_row" pass_params="1">
<input
type="password"
class="field"
<inp2:m_if check="{$prefix}_FieldHintLabel" title_label="$title" direct_label="$hint_label">
title="<inp2:$prefix_FieldHintLabel title_label='$title' direct_label='$hint_label' html_escape='1'/>"
</inp2:m_if/>
name="<inp2:{$prefix}_InputName field='$field'/>"
id="<inp2:{$prefix}_InputName field='$field'/>"
value="<inp2:{$prefix}_Field field='$field'/>"
tabindex="<inp2:m_get param='tab_index'/>"
<inp2:m_if check="{$prefix}_FieldOption" field="$field" option="max_len">
maxlength="<inp2:$prefix_FieldOption field='$field' option='max_len'/>"
</inp2:m_if>
style="<inp2:m_param name='style'/>"
/>
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_password" title="lu_fld_{$field}" verify_title="lu_fld_Verify{$field}" style="" field_type="text" no_editing="1">
<inp2:m_ifnot check="m_Get" name="password_js_included">
<script src="<inp2:m_Compress files='inc/js/passwordStrengthMeter.js'/>" type="text/javascript"></script>
<inp2:m_Set password_js_included="1"/>
</inp2:m_ifnot>
<div id="password-block" class="password-block">
<inp2:m_RenderElement design="form_row" row_class="pasfield1" error_position="none" pass_params="1">
<input
type="password"
class="field"
<inp2:m_if check="{$prefix}_FieldHintLabel" title_label="$title" direct_label="$hint_label">
title="<inp2:$prefix_FieldHintLabel title_label='$title' direct_label='$hint_label' html_escape='1'/>"
</inp2:m_if/>
name="<inp2:$prefix_InputName field='$field'/>"
id="<inp2:{$prefix}_InputName field='$field'/>"
value="<inp2:{$prefix}_Field name='{$field}_plain'/>"
tabindex="<inp2:m_get param='tab_index'/>"
style="<inp2:m_param name='style'/>"
/>
</inp2:m_RenderElement>
<inp2:m_RenderElement design="form_row" row_class="pasfield2" field="Verify{$field}" title="$verify_title" error_position="none" pass_params="1">
<input
type="password"
class="field"
<inp2:m_if check="{$prefix}_FieldHintLabel" title_label="$title" direct_label="$hint_label">
title="<inp2:$prefix_FieldHintLabel title_label='$title' direct_label='$hint_label' html_escape='1'/>"
</inp2:m_if/>
name="<inp2:$prefix_InputName field='$field'/>"
id="<inp2:{$prefix}_InputName field='$field'/>"
value="<inp2:{$prefix}_Field name='{$field}_plain'/>"
tabindex="<inp2:m_get param='tab_index'/>"
style="<inp2:m_param name='style'/>"
/>
</inp2:m_RenderElement>
<div class="clear"></div>
<div class="password-strength" id="<inp2:{$prefix}_InputName field='$field'/>_strength">Enter your password</div>
<inp2:m_RenderElement name="error_msg_container" style="padding: 0px; display: block;" pass_params="1"/>
<inp2:m_RenderElement name="error_msg_container" field="Verify{$field}" style="padding: 0px; display: block;" pass_params="1"/>
<script type="text/javascript">
new PasswordStrengthMeter(
{
inputSelector: '#' + jq('<inp2:{$prefix}_InputName field="$field"/>'),
phrases: {
'short': '<inp2:m_Phrase name="lu_PasswordStrengthShort" js_escape="1"/>',
'bad': '<inp2:m_Phrase name="lu_PasswordStrengthBad" js_escape="1"/>',
'good': '<inp2:m_Phrase name="lu_PasswordStrengthGood" js_escape="1"/>',
'strong': '<inp2:m_Phrase name="lu_PasswordStrengthStrong" js_escape="1"/>'
}
}
);
</script>
</div>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_upload" title="lu_fld_{$field}" style="" field_type="upload" hint_label="" no_editing="1">
<inp2:m_RenderElement design="form_row" pass_params="1">
<input
type="file"
class="field"
<inp2:m_if check="{$prefix}_FieldHintLabel" title_label="$title" direct_label="$hint_label">
title="<inp2:$prefix_FieldHintLabel title_label='$title' direct_label='$hint_label' html_escape='1'/>"
</inp2:m_if/>
name="<inp2:{$prefix}_InputName field='$field'/>"
tabindex="<inp2:m_get param='tab_index'/>"
style="<inp2:m_param name='style'/>"
/>
<inp2:m_if check="{$prefix}_FieldEquals" name="$field" value="" inverse="inverse">
(<inp2:{$prefix}_Field field="$field"/>)
</inp2:m_if>
<input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>[upload]" value="<inp2:{$prefix}_Field field="$field"/>" />
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_hidden" db="">
<input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>" value="<inp2:{$prefix}_Field field="$field" db="$db"/>" />
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_date" title="lu_fld_{$field}" style="" no_editing="1" field_type="date" error_field_suffix="_date">
<inp2:m_RenderElement design="form_row" pass_params="1">
<input
type="text"
class="field"
title="<inp2:{$prefix}_Format field='{$field}_date' input_format='1' human='true'/>"
name="<inp2:{$prefix}_InputName field="{$field}_date"/>"
id="<inp2:{$prefix}_InputName field="{$field}_date"/>"
value="<inp2:{$prefix}_Field field="{$field}_date" format="_regional_InputDateFormat"/>"
tabindex="<inp2:m_get param="tab_index"/>"
size="<inp2:{$prefix}_Format field="{$field}_date" input_format="1" edit_size="edit_size"/>"
style="<inp2:m_param name="style"/>"
datepickerIcon="<inp2:m_TemplatesBase module="In-Portal"/>img/calendar_icon.gif"
/>
<input type="hidden" name="<inp2:{$prefix}_InputName field="{$field}_time"/>" id="<inp2:{$prefix}_InputName field="{$field}_time" input_format="1"/>" value="" />
<script type="text/javascript">
$( '#' + jq('<inp2:{$prefix}_InputName field="{$field}_date"/>') ).datepicker(
{
inline: true,
dateFormat: get_jq_date_format('<inp2:$prefix_Format name="{$field}_date" input_format="1"/>'),
showOn: 'button',
buttonImage: '<inp2:m_TemplatesBase/>img/calendar_btn.gif',
buttonImageOnly: true,
onSelect: function(dateText, inst) {
if ( dateText != '' ) {
$(this).focus();
}
}
}
);
</script>
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_time" title="lu_fld_{$field}" style="" no_editing="1" field_type="time" error_field_suffix="_time">
<inp2:m_RenderElement design="form_row" pass_params="1">
<input
type="text"
class="field"
title="<inp2:{$prefix}_Format field='{$field}_time' input_format='1' human='true'/>"
name="<inp2:{$prefix}_InputName field='{$field}_time'/>"
id="<inp2:{$prefix}_InputName field='{$field}_time'/>"
value="<inp2:{$prefix}_Field field='{$field}_time' format='_regional_InputTimeFormat'/>"
tabindex="<inp2:m_get param='tab_index'/>"
size="<inp2:{$prefix}_Format field='{$field}_time' input_format='1' edit_size='edit_size'/>"
style="<inp2:m_param name='style'/>">
<input type="hidden" name="<inp2:{$prefix}_InputName field="{$field}_date"/>" id="<inp2:{$prefix}_InputName field="{$field}_date" input_format="1"/>" value="" />
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_date_time" title="lu_fld_{$field}" style="" field_type="date_time" no_editing="1">
<inp2:m_RenderElement design="form_row" pass_params="1">
<input
type="text"
class="field"
title="<inp2:{$prefix}_Format field='{$field}_date' input_format='1' human='true'/>"
name="<inp2:{$prefix}_InputName field="{$field}_date"/>"
id="<inp2:{$prefix}_InputName field="{$field}_date"/>"
value="<inp2:{$prefix}_Field field="{$field}_date"
format="_regional_InputDateFormat"/>"
tabindex="<inp2:m_get param="tab_index"/>"
size="<inp2:{$prefix}_Format field="{$field}_date" input_format="1" edit_size="edit_size"/>"
style="<inp2:m_param name="style"/>"
datepickerIcon="<inp2:m_ProjectBase/>core/admin_templates/img/calendar_icon.gif"
/>
<script type="text/javascript">
initCalendar("<inp2:{$prefix}_InputName field="{$field}_date"/>", "<inp2:{$prefix}_Format field="{$field}_date" input_format="1"/>");
</script>
<input
type="text"
class="field"
title="<inp2:{$prefix}_Format field='{$field}_time' input_format='1' human='true'/>"
name="<inp2:{$prefix}_InputName field='{$field}_time'/>"
id="<inp2:{$prefix}_InputName field='{$field}_time'/>"
value="<inp2:{$prefix}_Field field='{$field}_time' format='_regional_InputTimeFormat'/>"
tabindex="<inp2:m_get param='tab_index'/>"
size="<inp2:{$prefix}_Format field='{$field}_time' input_format='1' edit_size='edit_size'/>"
style="<inp2:m_param name='style'/>"
/>
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_textarea" title="lu_fld_{$field}" style="width: 100%;" cols="" rows="" format="" error_position="top" field_type="textarea" hint_label="" no_editing="1">
<inp2:m_RenderElement design="form_row" pass_params="1">
<textarea
class="field"
<inp2:m_if check="{$prefix}_FieldHintLabel" title_label="$title" direct_label="$hint_label">
title="<inp2:$prefix_FieldHintLabel title_label='$title' direct_label='$hint_label' html_escape='1'/>"
</inp2:m_if/>
tabindex="<inp2:m_get param="tab_index"/>"
name="<inp2:{$prefix}_InputName field='$field'/>"
id="<inp2:{$prefix}_InputName field='$field'/>"
cols="<inp2:m_param name='cols'/>"
rows="<inp2:m_param name='rows'/>"
style="<inp2:m_param name='style'/>"
><inp2:{$prefix}_Field field="$field" format="$format"/></textarea>
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_option_item">
<option value="<inp2:m_param name="key"/>"<inp2:m_param name="selected"/>><inp2:m_param name="option"/></option>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_option_phrase">
<option value="<inp2:m_param name="key"/>"<inp2:m_param name="selected"/>><inp2:m_phrase label="$option"/></option>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_options" title="lu_fld_{$field}" style="" has_empty="0" empty_value="" empty_label="" field_type="select" no_editing="1">
<inp2:m_RenderElement design="form_row" pass_params="1">
<select class="field" tabindex="<inp2:m_get param="tab_index"/>" name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>" style="<inp2:m_param name="style"/>">
<inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
<inp2:{$prefix}_PredefinedOptions field="$field" block="inp_option_phrase" selected="selected" has_empty="$has_empty" empty_value="$empty_value" empty_label="$empty_label"/>
<inp2:m_else/>
<inp2:{$prefix}_PredefinedOptions field="$field" block="inp_option_item" selected="selected" has_empty="$has_empty" empty_value="$empty_value" empty_label="$empty_label"/>
</inp2:m_if>
</select>
</inp2:m_RenderElement>
</inp2:m_DefineElement>
+<inp2:m_DefineElement name="inp_edit_country" title="lu_fld_{$field}" state_field="" style="" has_empty="0" empty_value="" empty_label="" field_type="select" no_editing="1">
+ <inp2:m_RenderElement design="form_row" pass_params="1">
+ <select class="field" tabindex="<inp2:m_get param="tab_index"/>" state_field="<inp2:m_Param name='state_field'/>" name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>" style="<inp2:m_param name="style"/>">
+ <inp2:{$prefix}_PredefinedOptions field="$field" block="inp_option_item" selected="selected" has_empty="$has_empty" empty_value="$empty_value" empty_label="$empty_label"/>
+ </select>
+
+ <script type="text/javascript">
+ $(document).ready(
+ function () {
+ var $field_mask = '<inp2:$prefix_InputName field="#FIELD_NAME#" js_escape="1"/>';
+
+ $( get_control($field_mask, '<inp2:m_Param name="field"/>') ).change(
+ function ($e) {
+ var $me = $(this),
+ $state_dropdown = $( get_control($field_mask, $me.attr('state_field')) ),
+ $url = '<inp2:m_Link country-state_event="OnGetStatesJSON" country_iso="#ISO#" pass="m,country-state" no_amp="1" js_escape="1"/>';
+
+ $.getJSON(
+ $url.replace('#ISO#', $me.val()),
+ function ($states) {
+ var $selected = $state_dropdown.val();
+
+ $state_dropdown.empty().append('<option value=""></option>');
+
+ if ( !$.isArray($states) ) {
+ for (var $state_iso in $states) {
+ $state_dropdown.append('<option value="' + $state_iso + '">' + $states[$state_iso] + '</option>');
+ }
+ }
+
+ $state_dropdown.val($selected);
+ }
+ );
+ }
+ );
+ }
+ );
+ </script>
+ </inp2:m_RenderElement>
+</inp2:m_DefineElement>
+
<inp2:m_DefineElement name="inp_radio_item" style="" onclick="" has_br="0">
<input type="radio" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>" <inp2:m_param name="checked"/> name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>" value="<inp2:m_param name="key"/>"><label for="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>"> <inp2:m_param name="option"/></label><inp2:m_if check="m_Param" name="has_br"><br/><inp2:m_else/> </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_radio_phrase" style="" onclick="" has_br="0">
<input type="radio" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>" <inp2:m_param name="checked"/> name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>" value="<inp2:m_param name="key"/>"><label for="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>"> <inp2:m_phrase label="$option"/></label><inp2:m_if check="m_Param" name="has_br"><br/><inp2:m_else/> </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_radio" title="lu_fld_{$field}" style="" pass_tabindex="" onclick="" onchange="" field_type="radio" has_br="0" no_editing="1">
<inp2:m_RenderElement design="form_row" pass_params="1">
<inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
<inp2:{$prefix}_PredefinedOptions field="$field" block="inp_radio_phrase" selected="checked" has_br="$has_br"/>
<inp2:m_else />
<inp2:{$prefix}_PredefinedOptions field="$field" block="inp_radio_item" selected="checked" has_br="$has_br"/>
</inp2:m_if>
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_captcha" style="" field="Captcha" title="lu_fld_Captcha" no_editing="1" field_type="captcha" is_last="0">
<inp2:m_RenderElement design="form_row" pass_params="1">
<img src="<inp2:m_Link template="platform/inc/captcha_image.elm" var="{$prefix}_captcha_code" w="150" h="30"/>" alt="<inp2:m_Phrase name="$title" no_editing="1"/>"/><br />
<br />
<input type="text" class="input-text" name="<inp2:{$prefix}_InputName field="Captcha"/>" id="<inp2:{$prefix}_InputName field="Captcha"/>" value="<inp2:{$prefix}_Field field="Captcha"/>" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_Param name="style"/>"/>
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_checkbox" title="lu_fld_{$field}" style="" field_type="checkbox" no_editing="1">
<inp2:m_RenderElement design="form_row" pass_params="1">
<input type="hidden" id="<inp2:{$prefix}_InputName field="$field"/>" name="<inp2:{$prefix}_InputName field="$field"/>" value="<inp2:{$prefix}_Field field="$field" db="db"/>" />
<input tabindex="<inp2:m_get param="tab_index"/>" type="checkbox" id="_cb_<inp2:{$prefix}_InputName field="$field"/>" name="_cb_<inp2:{$prefix}_InputName field="$field"/>" <inp2:{$prefix}_Field field="$field" checked="checked" db="db"/> style="<inp2:m_param name="style"/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field="$field"/>'));">
</inp2:m_RenderElement>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_checkbox_item">
<input type="checkbox" <inp2:m_param name='checked'/> id="<inp2:{$prefix}_InputName field='$field'/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>" onclick="update_checkbox_options(/^<inp2:{$prefix}_InputName field='$field' as_preg='1'/>_([0-9A-Za-z-]+)/, '<inp2:{$prefix}_InputName field='$field'/>');"><label for="<inp2:{$prefix}_InputName field='$field'/>_<inp2:m_param name='key'/>"><inp2:m_param name="option"/></label><inp2:m_if check="m_Param" name="has_br"><br/><inp2:m_else/> </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_checkbox_phrase">
<input type="checkbox" <inp2:m_param name='checked'/> id="<inp2:{$prefix}_InputName field='$field'/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>" onclick="update_checkbox_options(/^<inp2:{$prefix}_InputName field='$field' as_preg='1'/>_([0-9A-Za-z-]+)/, '<inp2:{$prefix}_InputName field='$field'/>');"><label for="<inp2:{$prefix}_InputName field='$field'/>_<inp2:m_param name='key'/>"><inp2:m_phrase label="$option"/></label><inp2:m_if check="m_Param" name="has_br"><br/><inp2:m_else/> </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_checkboxes" title="lu_fld_{$field}" no_empty="" pass_tabindex="" field_type="checkboxes" show_length="0" has_br="0">
<inp2:m_RenderElement design="form_row" pass_params="1">
<inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
<inp2:{$prefix}_PredefinedOptions field="$field" no_empty="$no_empty" tabindex="$pass_tabindex" block="inp_checkbox_phrase" selected="checked" has_br="$has_br"/>
<inp2:m_else/>
<inp2:{$prefix}_PredefinedOptions field="$field" no_empty="$no_empty" tabindex="$pass_tabindex" block="inp_checkbox_item" selected="checked" has_br="$has_br"/>
</inp2:m_if>
<inp2:m_RenderElement prefix="$prefix" name="inp_edit_hidden" field="$field" db="db"/>
</inp2:m_RenderElement>
</inp2:m_DefineElement>
\ No newline at end of file
Event Timeline
Log In to Comment