pablobuendiaelvira Posted January 17, 2017 Share Posted January 17, 2017 Estoy desarrollando un modulo para mi web que filtre los productos atendiendo a los parámetros que el cliente elija. Ya tengo programado como deben hacer la selección y saco los id_product a mostrar. Pero... ¿A que función debo llamar para que me muestren los productos en la home con el mismo formato que en el modulo populares por ejemplo?? Gracias!! Link to comment Share on other sites More sharing options...
ventura Posted January 17, 2017 Share Posted January 17, 2017 Hay varias maneras dependiendo de como se obtengan esos resultados ids, el array. Lo puedes intentar hacer con Product::getProductsProperties($this->context->language->id, $arrayObtenido); Link to comment Share on other sites More sharing options...
pablobuendiaelvira Posted January 17, 2017 Author Share Posted January 17, 2017 Los ids los obtengo mediante este SELECT SELECT L.id_product FROM ps_product P, ps_product_lang L where id_localidad=2038 and id_especialidad=13 and P.id_product = L.id_product and L.id_lang=4 Y después obtengo los ids así. [{"id_product":"11"},{"id_product":"12"}] ¿Como puedo mostrar esos productos en la home? Link to comment Share on other sites More sharing options...
ventura Posted January 17, 2017 Share Posted January 17, 2017 Puedes o bien hacer una query mas compleja que saque toda la informacion del producto y utilizar la funcion que te he dicho antes con el array de toda la informacion o tambien utilizar solo los ids del array que genera esa consulta que tienes, sin el key, algo asi por ejemplo $idsResultado = '5,6,7,8'; $productIDs = explode(',', $idsResultado ); $maxOptProducts = array(); $i = 0; foreach ($productIDs as $id_product){ $customProduct = get_object_vars(new Product($id_product, true, $this->context->language->id)); $customProduct['id_product'] = $customProduct['id']; $coverImage = Product::getCover($customProduct['id_product']); $customProduct['id_image'] = $coverImage['id_image']; $maxOptProducts[] = Product::getProductProperties($this->context->language->id, $customProduct); $i++; } asignas la variable con el array de los productos $this->context->smarty->assign('maxOptProducts ', $maxOptProducts ); Y ya por ultimo en el .tpl añades el include {include file="./product-list.tpl" products=$maxOptProducts class='my_product_list' id='my_product_list'} Link to comment Share on other sites More sharing options...
pablobuendiaelvira Posted January 18, 2017 Author Share Posted January 18, 2017 Así es el array que he obtenido con JQuery después de aplicar la selección el cliente: [{"id_product":"11","id_especialidad":"13","id_supplier":"2","id_provincia":"14","id_localidad":"2038"},{"id_product":"12","id_especialidad":"13","id_supplier":"0","id_provincia":"14","id_localidad":"2038"}]Ahora bien, teniendo esto en una función de JQuery que utilizo para no tener que recargar la página, ¿Como hago para cargar los valores en PHP tal y como me indicas? Gracias!! Link to comment Share on other sites More sharing options...
ventura Posted January 18, 2017 Share Posted January 18, 2017 tendrás que hacerlo con ajax Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now