Terminado

Programador web con conocimientos en javascript y wordpress

Publicado el 19 Junio, 2020 en Programación y Tecnología

Sobre este proyecto

Abierto

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")

        }

    })

}

Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Bug o cambio pequeño
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Roles necesarios Programador

Plazo de Entrega: 22 Junio, 2020

Habilidades necesarias

Otros proyectos publicados por J. A. M. M.