Esta consulta es de hace 7 años. No tome esta información como actualizada. Si tiene problemas con FacturaScripts, consulte la sección ayuda o la sección contacto
carlospherraz_f74d39

Hola a todos,

carlospherraz_f74d39   España   15-11-2017 20:33:26   16-11-2017 22:13:32   184   [shawe]
Hola a todos,

Estoy haciendo un plugin de reparto de mercancía y he llegado a un punto que no sé cómo enfocar, a ver si me explico:

1. En el plugin se pueden crear y eliminar "rutas", que están en una tabla cada una con su id.
2. Cada "ruta" tiene asociada una lista de clientes en otra tabla donde se relacionan las id de las rutas con las id de los clientes.

Mi duda es cómo obtener esas listas de clientes y representarlas luego con un {loop=""}, ya que no puedo crear variables públicas donde guardarlas si no se cuantas son de antemano.

Mediante un SELECT DISTINCT puedo obtener un array que me dice las ids de las rutas que existen en la tabla. Con este array puedo hacer un foreach y obtener las listas pero ¿Dónde las guardo? ¿En otro array que las englobe todas?¿Cómo identificaría después qué posición del array pertenece a cada "ruta"?¿Puede el RainTPL hacer loops de arrays formados por otros arrays?

Ya os digo que no sé cómo enfocar esto, a ver si alguien puede echarme un cable...

Gracias!
Quizás puedas orientarte, o incluso contribuir en el plugin distribución que está desarrollando joenilson. Este es el enlace:

https://www.facturascripts.com/plugin/distribucion
La explicación de como funciona RainTPL la tienes aquí: https://www.facturascripts.com/foro/big-documentacion-de-raintpl-big-503.html a parte de la oficial.

Y si, es posible hacer un loop dentro de otro loop, Un array es una lista, la puedes definir vacía e ir añadiéndole lo que necesites, para que luego la vista lo procese en el loop de la forma que necesites.
Primero gracias por las respuestas.

info_beef2d ya instalé el plugin distribución antes de empezar con este, pero es bastante más complejo de lo que necesitaba y decidí hacer uno propio.

shawe, ya había revisado lo de RainTPL antes de hacer la consulta, pero tal como yo lo entiendo no es un loop dentro de otro, sino indefinidos loops "hermanos" dentro de uno, entonces no sé ni cómo utilizarlo ni, sobre todo, como identificar qué loop pertenece a cada "ruta".

Es decir, si por ejemplo yo tengo las rutas con id 5, 12, 15, 27 y 42, ¿Cómo las identifico en el array donde sus posiciones son de la 0 a la 4?

Estoy bastante perdido con esto, la verdad.
En lugar de añadir a un array así:

array[] = lo que sea

Puedes añadirselo como necesitas:

array[id_ruta] = lo que sea

Y ya no los tienes numerados por orden de inserción, sino por el campo que tu necesitas.
Hola de nuevo,

Siguiendo tu consejo he conseguido hacer un array de listas de clientes. Ahora la cosa es representarlos, he intentado esto:

{loop="$fsc->listados_clientes[{$value->idruta}]"}
...
{/loop}

para identificar la lista correspondiente a cada ruta, pero no ha funcionado... ¿sabéis alguna forma de hacer esto?
Hola otra vez.

Finalmente solo tenía que quitar las llaves en [{$value->idruta}], es decir [$value->idruta].

Así ya funciona perfecto.

Por mi parte se puede cerrar el hilo como solucionado.

Muchísimas gracias por la ayuda.
¿Problemas con FacturaScripts?
Si tiene problemas con FacturaScripts consulte la sección ayuda o la sección contacto



Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2024 FacturaScripts
0.17005s

Soporte