Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Sistema de campos parametrizables e-commerce .

Estas en el tema de Sistema de campos parametrizables e-commerce . en el foro de Mysql en Foros del Web. Hola!!! Estoy ampliando mi ecommerce por un encargo a medido. Es de elaboración propia y está echo con: html; asp; mysql; CSS3 Me ha surgido ...
  #1 (permalink)  
Antiguo 26/02/2014, 06:23
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 4 meses
Puntos: 6
Sistema de campos parametrizables e-commerce .

Hola!!! Estoy ampliando mi ecommerce por un encargo a medido.
Es de elaboración propia y está echo con: html; asp; mysql; CSS3

Me ha surgido el inconveniente de que los distintos clientes pueden necesitar campos específicos para cada uno en función de su negocio, pero estos campos no tienen sentido que existan para otros.

Por eso he pensado en crear un sistema de campos parametrizables por el usuario sin tener que hacer uso de ALTER TABLE, ya que quiero que la estructura de la DB sea la misma para todas las tiendas que monto.

En este caso en concreto para este cliente, en la cabecera del pedido te hace falta un campo memo que sea : texto del anuncio y en la ficha del comprador un campo que sea : Número de cuenta bancaria.

No quiero añadir campos por añadir cuando a algún cliente le haga falta algo muy concreto y he pensado esto:

Crear dos tablas, la primera guardaría los datos del campo parametrizable:

tabla Campos_Parametrizables:
Id : Clave única
Módulo : a qué módulo o formulario pertenece (pedidos, ficha user...)
Nombre : Nombre visible a mostrar en los form.
Requerido : sí o no
Tipo: Txt, memo, lógico...
NombreForm: Nombre interno para el form.

Y en la segunda los valores:
Tabla Campos_Parametrizables_Dat
Id: Clave única
Id-campo-param: id de la tabla anterior
Id-registro: Sin relación, será por ejemplo el id del pedido o de la ficha del user
Dato-memo
Dato-txt
Dato-lógico

De estos tres últimos sólo se rellenaría uno según el valor del campo tipo de la tabla de cabecera.

Una vez hecho esto, este sería el procedimiento en el código, para los pedidos por ejemplo:

En sección configuración pedidos creo los campos nuevos que quiero pedir al finalizar el pedido, los que quiera indicando el tipo de campo para el form y los guardo en la tabla Campos_Param indicando que el módulo es pedidos.

Cuando se hace un pedido, compruebo si tengo tengo campos parametrizados y los muestro en el form.

Después, al hacer el insert o el update recojo estos campos y los guardo en la tabla campos_param_dat y a través de los campos módulo e Id sé a quién pertenece.

Esta es la idea, antes de empezar a teclear nada quiero que me digáis si el concepto es el correcto o hay otros métodos, gracias.
  #2 (permalink)  
Antiguo 27/02/2014, 05:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Sistema de campos parametrizables e-commerce .

Estás intentando reinventar la rueda.
Ese tipo de bases de datos, fundadas en taxonomías, ya existen y son de uso corriente en aplicaciones como Wordpress.
Investiga ese tema y verás que así es como funcionan.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/02/2014, 08:40
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 4 meses
Puntos: 6
Respuesta: Sistema de campos parametrizables e-commerce .

Gracias! por eso la consulta, inicié el camino de crear un CMS propio, de ahí este problema.

No veo bien la DB de ejemplo, cómo puedo buscar ese gráfico?

La idea que presento coincide con lo establecido?
La idea y estructura de la DB que propongo es correcta?

Etiquetas: campos, e-commerce
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:50.