• Estoy usando el plugin CMB2 como base para crear los metaboxes.
    Ahora el problema esta en si es posible crear un metabox aritmético, es decir, que realice operación aritmética(la suma en este caso) de los valores de otros metabox. Entiendo que se necesite ajax para que sea en tiempo real, no me importa, no hace falta mostrarlo al momento.
    Se que puedes hacerlo a la hora de mostrar el post, pero prefiero que se almacene en la base de datos.
    ¿Como lo veis? Gracias de antemano

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • Moderador almendron

    (@almendron)

    Yo creo que sí se puede. No se qué tipos de metboxes crea el plugin pero siempre puedes tomar su valor, pasarlo a entero y luego sumarlos.
    No hace falta usar ajax pues se trata de una simple suma, algo que en PHP, como ya sabrás, se puede hacer de forma fácil.
    En cuanto a almacenar el resultado en la base de datos, yo no lo haría.

    Si se puede, ahora es medio engorroso. Te lo explico. Según entendí tienes tres metabox, mbA, mbB, mbC, o algo así. El mbA y el mbB, los creaste con el plugin. Y el mbC debe sumar los valores de los dos anteriores.

    Entonces mbC debe hacer 2 query obteniendo los valores de mbA y mbB. Y el valor obtenido debe almacenarlo en el meta_value, todo esto asociado a un único post_id (si es independiente del id del post, se tornara demasiado engorroso).

    Esto es solo si necesitas que mbC almacene mas de una sola suma.
    Por ultimo el valor agregado de mbC, puedes ocupar un algoritmo, que almacene todos los procesos y después con explode de php, lo puedes asociar a un array para poder trabajarlos.

    http://php.net/manual/es/function.explode.php

    Ejemplo de este algoritmo de mbC:

    meta_value : PD123A5B4C9,PD456A3B2C5,PD789A10B10C20,….

    PD seria Post ID
    A: mbA
    B: mbB
    C: mbC (suma de ambos).

    Espero te sirva, es engorroso. Ahora quizás no es necesario que mbC almacene los valores sino que simplemente los sume. En ese caso hacer lo primero.

    Saludos y suerte 😀

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • El debate ‘Metabox aritmético’ está cerrado a nuevas respuestas.