Se está reconstruyendo un sitio web para mandar órdenes de lentes de gafas en línea. El formulario para crear las órdenes, está creado en
ASP.NET en el sitio original, o eso creemos por el “/
Main.aspx” de la URL del sitio. El nuevo sitio se está construyendo en un WordPress con Woocommerce, donde el formulario en cuestión, está siendo recreado en el formulario de Finalizar compra (Checkout) de Woocommerce con el plugin “Checkout Field Editor for WooCommerce” desarrollado por Themehigh.
PROBLEMA:
El formulario original tiene un par de menús desplegables (campos select) cuyas opciones son generadas por un código javascript (ver anexo) dependiendo de las opciones seleccionadas en campos anteriores. Queremos copiar este comportamiento en el nuevo sitio.
REQUERIMIENTOS:
· Copiar el código del sitio viejo y adaptarlo al nuevo.
· Se requiere agregar otra variable para la visualización de las opciones, el rol del usuario.
· Cada rol de usuario tendría su propia tabla de opciones (archivo ashx), en lugar de la única tabla del sitio original. Si es posible configurarlo para que todo funcione en la misma tabla mejor.
· El código javascript no debe controlar la visualización de los campos del formulario, eso lo hace el plugin instalado.
· Las opciones del código javascript sólo deben agregar “value” y el texto que ve el usuario, no necesita un “cantint”.
INQUIETUDES:
· El código original llama un “.ashx”, ¿esto se puede migrar al sitio nuevo hecho en Wordpress o se requiere cambiar a otro formato?
· ¿Qué programa se requiere para editar el archivo “.ashx”?
ANEXOS:
1 Código para alimentar los menús desplegables.
Function GetLensType() {
var B = $("#type_select input:radio:checked").val();
if (B == null) {
B = ""
}
if (B == "Rx Single Vision" || B == "Stock Single Vision") {
$("#field_select_orgin").css("display", "none");
$("#field_select_corridor").css("display", "none")
} else {
$("#field_select_orgin").css("display", "");
$("#field_select_corridor").css("display", "")
}
var A = $("#material_select input:radio:checked").val();
if (A == null) {
A = ""
}
var D = $("#index_select input:radio:checked").val();
if (D == null) {
D = ""
}
var C = $("#origin_select input:radio:checked").val();
if (C == null) {
C = ""
}
var E = $("#corridor_select input:radio:checked").val();
if (E == null) {
E = ""
}
$.ajax({
url: "/Handle/
GetLensType.ashx",
type: "POST",
dataType: "json",
data: {
Type: B,
Material: A,
Index: D,
Origin: C,
Corridor: E
},
success: function(F) {
$("#lenstype_right").empty();
$("#lenstype_left").empty();
$.each(F, function(H, I) {
var G = "<option cantint='" + I.CanTint + "' value='" + I.OWSCode + "'>" + I.OWSCode + "(" + I.Description + ")</option>";
$("#lenstype_left").append(G);
$("#lenstype_right").append(G)
})
},
error: function(F) {
ShowMsg("Please reflash page to reload lenstype")
}
})
}
Plazo de Entrega: 22 Junio, 2020