Jump to content

Prestashop 1.5 Final ahora disponible! (Actualmente 1.5.6.2)


nadie
 Share

Recommended Posts

He hecho una instalacion limpia de la 1.5.5 y esta semana que viene la testeare con los modulos mas importantes y dejare una lista de fallos y diferencias con la anterior version que encuentre, me gusto mucho el tema de transportistas tal y como esta planteada esa interfaz es mucho mas facil de entender, hay que darle una oportunidad a esta 1.5.5 ya que la merece la pena el trabajo que se han pegado.

Haber si nos juntamos varios y testeamos esta version poniendo las diferencias entre la 1.5.4.1 y los errores

Salu2

 

El changelog de la 1.5.5 (como se ha comentado en otros mensajes mas arriba) tienes lo errores solucionados en la 1.5.5: http://www.prestasho...cambios/1.5.5.0 (Podeis ver la referencia de forge o el enlace de github)

 

Los nuevos errores que vayan saliendo (digo errores o bugs reales, no fallos ocasionados por otros asuntos) los podeis ir viendo https://github.com/PrestaShop/PrestaShop/tree/development o en http://forge.prestas.../Dashboard.jspa

 

Podeis usar la aplicación de http://windows.github.com/ en vuestro equipo, y ver los nuevos errores que son reportados.

Share this post


Link to post
Share on other sites

Se corregiran los fallos que estan saliendo en esta nueva version 1.5.5 o se sacara un nueva tipo 1.5.5.1 nueva para solucionar definitivamente todo ya que por lo que veo esta version esta dando algunos quebraderos de cabeza

 

Nuevas versiones oficiales, ten por seguro que van a sacar.

Share this post


Link to post
Share on other sites

Un detalle la barra de busqueda del front office me aparece arriba del todo a la izquierda como hago para dejarla como en la version 1.5.4.1

Gracias

 

Si te refieres a la barra de busqueda rapida que aparece en la parte superior, puede ser que no lo tengas bien colocando dentro del "top of pages (displaytop)" (y tengas que subirlo o bajarlo con las flechas) en la pestaña modulos -> posiciones, o puede ser que tengas que editar el *.css del modulo (blocksearch.css) y ajustar esto:

 

#search_block_top {
position:absolute;
right: 26%;
top: 34px;
}

 

O no te este cargando el css del modulo y tengas que reiniciarlo.. o recolocarlo en el (displayheader)

 

etc...

 

Recuerdo que es importante que adjuntar una imagen para ver las cosas en directo.

Share this post


Link to post
Share on other sites

Me pasa exactamente lo mismo...

 

Alguien conoce la solución a este error?

 

Tampoco me funciona cuando intento entrar en Preferencias -> Contactos de la tienda . Se me va a una pagina en blanco, a alguien mas le pasa?

 

Gracias

 

Lo del transporte se soluciona usando explorer en vez de chrome.

 

Alguién tiene alguna solución para poner videos en la ficha de producto sin que de error con el editor incorporado?

 

Un saludo.

Share this post


Link to post
Share on other sites

Hola, he vuelto actualizar y ahora editar o crear un nuevo producto es una locura!! Casi un minuto de espera....

Ya no se si es te la actualización o del servidor ( Profesional hosting ) ¿ Alguien más le ha pasado?

Saludos

Share this post


Link to post
Share on other sites

hola a todos espero me puedan ayudar con los pequeños problemas...

 

1) el carrito se desaparece automaticamente.

2) cuando agrego un producto al carrito y quiero borrarlo o aumentar su cantidad me sale un error que dice "TECHNICAL ERROR: unable to save update quantity" Details: Error thrown: [object Object]

3) cuando uno va a condiciones generales de la venta que el cliente debe aceptar "lo lleva a una página sin formato y toda oscura..." realmente no se que pasó ahi.

 

por favor rogaría que me puedan ayudar con esto gracias!

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Hola a todos,

La pasada semana actualicé mi tienda a la última versión de Prestashop desde la anterior y no he tenido ningún problema grave, además carga más rápido y todo. Mi tema, pese a no estar actualizado expresamente aún para la versión 1.5.5.0 también se comporta bien.

El único problema de momento con el que me he encontrado es a la hora de importar las imágenes a través de CSV que no las importa. He tratado de poner varias rutas distintas(dentro y fuera del mismo hosting) y no hay manera. 

¿Puede ser que tras lla actualización se haya cambiado algún permiso del ftp o puede ser un error de programación? he estado buscando por ahí y no he visto nada aún al respecto.

Gracias y seguiré informando.

----------------------------

Estoy en contacto con el forge en el hilo:

http://forge.prestashop.com/browse/PSCFV-10249?focusedCommentId=77323#comment-77323

Pero no me dan ninguna solución valida para mi, quizas a otros os venga bien. A mi no me va ha quedar mas remedio que bajarme a la versión anterior.

------------------

Solucionado:

Precisamente haciendo lo contrario a lo que me indicaban en el forge: usando url relativas a mi sitio.

Ejemplo: 

..//tmp/correas-gates.png

 

Yo siempre habia usado url completas externas a mi sitio pero ahora no me deja aunque han dicho que no ha cambiado nada de una versión a otra.

Edited by radioeventos (see edit history)

Share this post


Link to post
Share on other sites

Hola a todos,

 

Me parece que pronto va a salir una versión nueva, supongo que la 1.5.5.1, lo digo porque he visto en github que han creado un nuevo canal "release".

 

Alguien sabe algo?

 

¿Se sabe algo de la nueva version?

Para cuando saldra.

Share this post


Link to post
Share on other sites

Supongo que la version 1.6 saldra en Enero no creo que la saquen antes y creo que sera la version definitiva para coronarse indiscutiblemente como el mejor ecommerce open source a nivel profesional, me ha llamado la atencion el front office que luce con una calidad increible y un aspecto visual muy profesional pero lo que de verdad me a llamado la atencion es el sistema en el back office que ha sido la mejor idea que a podido tener el equipo de prestashop, con el sistema de pestañas desplegables consigues en una solo pagina web tener todo el back office comprimido sin ningun tiempo de carga entre seccion y seccion ya que viene siendo una pagina que despliega cada pestaña.

Genial.

Share this post


Link to post
Share on other sites

Se ha hablado de una version 1.6 para final de año pero tambien se ha hablado una version 2.0 y me pregunto, ¿si se pasan de 1.6 a la 2.0 se supone que sacaran un prestashop totalmente renovado reescribiendo todo el codigo partiendo de cero o viene siendo la version 1.6 que la llaman tambien la version 2.0?

Segun e visto en una entrevista con los responsables de la programacion de prestashop ellos mismos dijeron que sacarian la 1.6 a final de año pero que tenian un proyecto para sacarlo poco despues a principio de 2014 llamado prestashop v2 pero nada mas hablaron sobre el tema.

Alguien sabe sobre este supuesto v2 que saldra poco despues.

Share this post


Link to post
Share on other sites

Hola a todos, se me había pasado el hilo de presentaciones. Aprovecho para dar las gracias a todos ya que vuestra desinteresada ayuda es increíble. Por mi parte en las cosas que voy pudiendo ayudar (pocas ya que acabo de empezar) ahí me tenéis.

 

Decir que uso prestashop para mi propio negocio. Soy español pero llevo en Rusia 11 años (ni yo me lo creo) )

 

¡Un saludo a todos desde el frío!

Share this post


Link to post
Share on other sites

¿Victor se sabe algo mas de la fecha de la 1.5.6 aparte del email enviado?

Tengo interes por ver la nueva version haber si han corregido los errores de la 1.5.5.

Un saludo y gracias.

 

 

acaba de salirme el mensaje de actualizacion de la 1.5.6 de hecho he entrado en el foro para ver si habia noticias sobre los cambios.

Share this post


Link to post
Share on other sites

¿Victor se sabe algo mas de la fecha de la 1.5.6 aparte del email enviado?

Tengo interes por ver la nueva version haber si han corregido los errores de la 1.5.5.

Un saludo y gracias.

jajaj, que impaciente, como dice Antonio, ha salido hoy.

 

Prestashop 1.5.6.0

 

Share this post


Link to post
Share on other sites

Funciona.

Sigue el problema de entrar en el back office.

Han arreglado que las categorías vuelven a mostrar todos los artículos de las subcategorías y no poner "no hay productos"

 

Back office un 50% más rápido que el desastroso 1.5.5, que me tardaba entrar en algunos módulos de 7 a 9 segundos.

Share this post


Link to post
Share on other sites

Yo no puedo actualizar, me dice que la versión del módulo de actualización no es la correcta pero la numeración coincide con la última. He reiniciado el módulo pero sigue en sus trece.

Desinstalado y re-instalado 3 veces hasta que ha funcionado y dedos cruzados....

Edited by radioeventos (see edit history)

Share this post


Link to post
Share on other sites

Yo no puedo actualizar, me dice que la versión del módulo de actualización no es la correcta pero la numeración coincide con la última. He reiniciado el módulo pero sigue en sus trece.

Desinstalado y re-instalado 3 veces hasta que ha funcionado y dedos cruzados....

 

Asegurate que te sale el módulo versión 1.2.0

Share this post


Link to post
Share on other sites

 

 

No lo recuerdo... debería dejar el Si al Backup o marco NO? Porque me parece que sí que hizo la última vez backup y desaparecieron.

A mi parece que también desaparecen al principio tras las actualizaciones pero desactivando las url amigables y reactivandolas después vuelven a aparecer. Al menos en mi caso.

Share this post


Link to post
Share on other sites

Yo en la version 1.5.6 sigo teniendo el mismo problema con las descripciones de las subcategorias que no me aparecen en html, con lo cual sigue apareciendo lo de <p></p>.

He probado varios métodos y no me funciona ninguno.

Otro problema que sigue persistiendo es en el menu de traducciones de los modulos, me tira un error y no me lo traduce, con lo cual por ejmplo sigue apareciendo CART: en vez de CARRITO:

Share this post


Link to post
Share on other sites

Yo en la version 1.5.6 sigo teniendo el mismo problema con las descripciones de las subcategorias que no me aparecen en html, con lo cual sigue apareciendo lo de <p></p>.

He probado varios métodos y no me funciona ninguno.

 

 

Me pasa exactamente lo mismo, a veces uno se cree que está loco y solo le pasa a él jeje. Qué desastre :) bueno poquito a poco. 

Share this post


Link to post
Share on other sites

Saludos actualize a la version 1.5.4.1 a 1.5.6, actualiza todo perfecto, pero hay un problemas con algunos modulos modulos (menu horizontal, productos destacados, y otros modulos de ps) todos se modificaron, relacize mi copia de seguridad previa.

 

mi pregunta es: es correcto sustituir los modulos por los anteriores (ya que lo tenia modificado casi todos) ?

 

o hay alguna manera de actualizar y que los modulos no sufran cambios, por que tengo muchos modulos basicos de prestashop modificados.

 

espero por su ayuda....

Share this post


Link to post
Share on other sites

Mi experiencia con esta versión 1.5.6 es muy buena, con la 1.5.5 tanto el backoffice como el front office me tardaba incluso 8 segundos en cargar...ahora en un par de segundos tengo mi web cargada perfectamente.

Impresionante y 100% recomendable.

Salu2

  • Like 1

Share this post


Link to post
Share on other sites

actualize a la version 1.5.4.1 a 1.5.6, y me salen esto errores alguien me puede ayudar. ya lo he realizado varias veses y siempre sale este error y no calga la pagina

 

Warning: require_once(/home/fun..../public_html/prueba/override/classes/../../modules/cloudcache/cloudcache.php): failed to open stream: No such file or directory in /home/fun...../public_html/prueba/override/classes/Tools.php on line 217

Fatal error: require_once(): Failed opening required '/home/fun..../public_html/prueba/override/classes/../../modules/cloudcache/cloudcache.php' (include_path='.:/opt/alt/php54/usr/share/pear:/opt/alt/php54/usr/share/php') in /home/fun..../public_html/prueba/override/classes/Tools.php on line 217

Share this post


Link to post
Share on other sites

actualize a la version 1.5.4.1 a 1.5.6, y me salen esto errores alguien me puede ayudar. ya lo he realizado varias veses y siempre sale este error y no calga la pagina

 

Warning: require_once(/home/fun..../public_html/prueba/override/classes/../../modules/cloudcache/cloudcache.php): failed to open stream: No such file or directory in /home/fun...../public_html/prueba/override/classes/Tools.php on line 217

 

Fatal error: require_once(): Failed opening required '/home/fun..../public_html/prueba/override/classes/../../modules/cloudcache/cloudcache.php' (include_path='.:/opt/alt/php54/usr/share/pear:/opt/alt/php54/usr/share/php') in /home/fun..../public_html/prueba/override/classes/Tools.php on line 217

 

http://www.prestashop.com/forums/topic/282282-solucionado-error-en-la-tienda-al-actualizar-de-154-a-156/

Share this post


Link to post
Share on other sites

Me pasa exactamente lo mismo, a veces uno se cree que está loco y solo le pasa a él jeje. Qué desastre :) bueno poquito a poco. 

Eso que decís me pasaba ami con la descripción corta en vista de lista  que me aparecía sin formato y me lo solucionó a quien compré el tema, que tiene un servicio postventa genial. Os recomiendo a los autodidactas que adquirais un tema en themeforest en lugar de trastear con temas gratuitos o piratas. por apenas 60 € te aseguras de que tu tienda funcione correctamente, visualmente hablando.

Share this post


Link to post
Share on other sites

1.5.4.1 Ultima versión oficial para canal minor 1.5.6.0 stable (1.5.6.0)

 

[DEV] ajax request : upgradeNow

 

download will come from https://www.prestashop.com/download/releases/prestashop_1.5.6.0.zip

 

md5 will be checked against 60517c57de117d088bc72f010256b626

 
 
Analizando la situación ...Tienda desactivada. Descargando (esto puede demorar algún tiempo)...
 

[Ajax / Server Error for action download] textStatus: "error " errorThrown:"Internal Server Error " jqXHR: " "h

 

 

ola no consigo instalar la nueva versión, me dice lo siguiente.

 

alguien me puede ayudar

 

 

[DEV] ajax request : download

 

Share this post


Link to post
Share on other sites

  • 2 weeks later...

soy nuevo en prestashop, llevo unas semanas mirando toda la información que encuentro, vídeos, tutoriales etc... pero la verdad es que ando bastante perdido en esto del prestashop.

 

A partir de esta semana he decidido empezar a usarlo ya que creo que e leído suficiente información para empezar, pero de antemano ya sé que tendré dudas y problemas.

 

 

Un saludo!

Share this post


Link to post
Share on other sites

soy nuevo en prestashop, llevo unas semanas mirando toda la información que encuentro, vídeos, tutoriales etc... pero la verdad es que ando bastante perdido en esto del prestashop.

 

A partir de esta semana he decidido empezar a usarlo ya que creo que e leído suficiente información para empezar, pero de antemano ya sé que tendré dudas y problemas.

 

 

Un saludo!

 

 

Hola !

 

Aunque supongo que ya lo habrás visto, la documentación oficial de Prestashop, la tienes aquí: http://doc.prestashop.com/dashboard.action, ademas de que en youtube tienes vídeos y minicursos gratis, como el de luis cambra: http://www.youtube.com/user/LuisCambra

 

Si tienes alguna duda especifica, tal como comentan las normas del foro, debe abrir solo un tema por duda (no varias dudas en un mismo tema), dependiendo de la temática de su pregunta sera en la sección de:

 

Discusión General: http://www.prestashop.com/forums/forum/86-discusi%C3%B3n-general/

 

O en la sección de:

 

Instalación, configuración y actualización: http://www.prestashop.com/forums/forum/87-instalaci%C3%B3n-configuraci%C3%B3n-y-actualizaci%C3%B3n/

 

Tambien es interesante que visites la sección de recursos y aportes gratuitos: http://www.prestashop.com/forums/forum/168-modulos-gratis-sobrecargas-y-otras-astucias-que-cambian-la-vida/

 

Suerte con los proyectos !

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Me sale en el actualizador la 1.5.6.1 ya hay nueva version.

 

Gracias por el aviso.

 

Como ya no estoy en el foro (ahora tampoco estoy, lo único es que estoy cerrando unas cosas, antes de dar de baja el usuario), como comente aquí: http://www.prestashop.com/forums/topic/282730-comunicado-de-despedida-de-la-comunidad-por-parte-del-usuario-nadie/?view=findpost&p=1422288, pues se me paso estar atento, para ver si habían sacado una nueva actualización.

 

Gracias por el aviso.

Share this post


Link to post
Share on other sites

No se si a los demás les ocurre lo mismo, pero con la versión 1.5.6.1 vuelve el problema de al actualizar un producto en el BO vuelve a la raiz de todos los productos en lugar de quedarse en la categoría del producto editado o creado. No quería actualizar antes de probar, pero tras realizar una migración de servidores me han actualizado la versión sin preguntar y me he encontrado con esta sorpresilla entre otras....

27/11- NO PREGUNTEIS POR QUÉ NI COMO, PERO PROBLEMA RESUELTO LO DE LA PÁGINA DE PRODUCTOS

Edited by radioeventos (see edit history)

Share this post


Link to post
Share on other sites

No se si a los demás les ocurre lo mismo, pero con la versión 1.5.6.1 vuelve el problema de al actualizar un producto en el BO vuelve a la raiz de todos los productos en lugar de quedarse en la categoría del producto editado o creado. No quería actualizar antes de probar, pero tras realizar una migración de servidores me han actualizado la versión sin preguntar y me he encontrado con esta sorpresilla entre otras....

 

En mi caso este problema no me ocurre al realizar la actualización,  lo que sí que me ha pasado es que cuando le das a Top Ventas aparece la página sin productos con un mensaje en el que pone PRODUCTOS MÁS VENDIDOS y un mensaje "Los menos vendidos". A alguien le ocurre lo mismo? Alguna solución?

Share this post


Link to post
Share on other sites

En mi caso este problema no me ocurre al realizar la actualización,  lo que sí que me ha pasado es que cuando le das a Top Ventas aparece la página sin productos con un mensaje en el que pone PRODUCTOS MÁS VENDIDOS y un mensaje "Los menos vendidos". A alguien le ocurre lo mismo? Alguna solución?

A mi solo me pone que no hay productos, cuando en el modulo de la barra lateral si me salen.... Poltergeist...

Share this post


Link to post
Share on other sites

  • 3 weeks later...

Me pasa lo mismo.... alguna solución?

 

Iden de iden. Mis productos aparecen en el lateral de los más vendidos pero al pinchar en el enlace para ver cuales son, no aparece ninguno. ¿? Será la niña del pozo? :wacko: :wacko:

Saludos

 

versión 1.5.6.1

Share this post


Link to post
Share on other sites

Iden de iden. Mis productos aparecen en el lateral de los más vendidos pero al pinchar en el enlace para ver cuales son, no aparece ninguno. ¿? Será la niña del pozo? :wacko: :wacko:

Saludos

 

versión 1.5.6.1

 

Si usas la 1.5.6.1

 

Deja tu fichero:

 

/classes/ProductSale.php

asi:

 

<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <[email protected]>
*  @copyright  2007-2013 PrestaShop SA
*  @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

class ProductSaleCore
{
        /*
        ** Fill the `product_sale` SQL table with data from `order_detail`
        ** @return bool True on success
        */
        public static function fillProductSales()
        {
                $sql = 'REPLACE INTO '._DB_PREFIX_.'product_sale
                                (`id_product`, `quantity`, `sale_nbr`, `date_upd`)
                                SELECT od.product_id, SUM(od.product_quantity), COUNT(od.product_id), NOW()
                                                        FROM '._DB_PREFIX_.'order_detail od GROUP BY od.product_id';
                return Db::getInstance()->execute($sql);
        }

        /*
        ** Get number of actives products sold
        ** @return int number of actives products listed in product_sales
        */
        public static function getNbSales()
        {
                $sql = 'SELECT COUNT(ps.`id_product`) AS nb
                                FROM `'._DB_PREFIX_.'product_sale` ps
                                LEFT JOIN `'._DB_PREFIX_.'product` p ON p.`id_product` = ps.`id_product`
                                '.Shop::addSqlAssociation('product', 'p', false).'
                                WHERE product_shop.`active` = 1';
                return (int)Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($sql);
        }

        /*
        ** Get required informations on best sales products
        **
        ** @param integer $id_lang Language id
        ** @param integer $page_number Start from (optional)
        ** @param integer $nb_products Number of products to return (optional)
        ** @return array from Product::getProductProperties
        */
        public static function getBestSales($id_lang, $page_number = 0, $nb_products = 10, $order_by = null, $order_way = null)
        {
                if ($page_number < 0) $page_number = 0;
                if ($nb_products < 1) $nb_products = 10;
                $final_order_by = $order_by;
                $order_table = '';                 
                if (is_null($order_by) || $order_by == 'position' || $order_by == 'price') $order_by = 'sales';
                if ($order_by == 'date_add' || $order_by == 'date_upd')
                        $order_table = 'product_shop';                                 
                if (is_null($order_way) || $order_by == 'sales') $order_way = 'DESC';
                $groups = FrontController::getCurrentCustomerGroups();
                $sql_groups = (count($groups) ? 'IN ('.implode(',', $groups).')' : '= 1');
                $interval = Validate::isUnsignedInt(Configuration::get('PS_NB_DAYS_NEW_PRODUCT')) ? Configuration::get('PS_NB_DAYS_NEW_PRODUCT') : 20;

                //Subquery: get product ids in a separate query to (greatly!) improve performances and RAM usage
                $sql = 'SELECT cp.`id_product`
                                FROM `'._DB_PREFIX_.'category_group` cg
                                LEFT JOIN `'._DB_PREFIX_.'category_product` cp ON (cp.`id_category` = cg.`id_category`)
                                WHERE cg.`id_group` '.$sql_groups;
                $products = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
                $ids = array();
                foreach ($products as $product)
                        $ids[$product['id_product']] = 1;
                $ids = array_keys($ids);
                $ids = array_filter($ids);
                sort($ids);
                $ids = count($ids) > 0 ? implode(',', $ids) : 'NULL';
                
                //Main query
                $sql = 'SELECT p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity,
                                        pl.`description`, pl.`description_short`, pl.`link_rewrite`, pl.`meta_description`,
                                        pl.`meta_keywords`, pl.`meta_title`, pl.`name`,
                                        m.`name` AS manufacturer_name, p.`id_manufacturer` as id_manufacturer,
                                        MAX(image_shop.`id_image`) id_image, il.`legend`,
                                        ps.`quantity` AS sales, t.`rate`, pl.`meta_keywords`, pl.`meta_title`, pl.`meta_description`,
                                        DATEDIFF(p.`date_add`, DATE_SUB(NOW(),
                                        INTERVAL '.$interval.' DAY)) > 0 AS new
                                FROM `'._DB_PREFIX_.'product_sale` ps
                                LEFT JOIN `'._DB_PREFIX_.'product` p ON ps.`id_product` = p.`id_product`
                                '.Shop::addSqlAssociation('product', 'p', false).'
                                LEFT JOIN `'._DB_PREFIX_.'product_lang` pl
                                        ON p.`id_product` = pl.`id_product`
                                        AND pl.`id_lang` = '.(int)$id_lang.Shop::addSqlRestrictionOnLang('pl').'
                                LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product`)'.
                                Shop::addSqlAssociation('image', 'i', false, 'image_shop.cover=1').'
                                LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$id_lang.')
                                LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON (m.`id_manufacturer` = p.`id_manufacturer`)
                                LEFT JOIN `'._DB_PREFIX_.'tax_rule` tr ON (product_shop.`id_tax_rules_group` = tr.`id_tax_rules_group`)
                                        AND tr.`id_country` = '.(int)Context::getContext()->country->id.'
                                        AND tr.`id_state` = 0
                                LEFT JOIN `'._DB_PREFIX_.'tax` t ON (t.`id_tax` = tr.`id_tax`)
                                '.Product::sqlStock('p').'
                                WHERE product_shop.`active` = 1
                                        AND p.`visibility` != \'none\'
                                        AND p.`id_product` IN ('.$ids.')
                                GROUP BY product_shop.id_product
                                ORDER BY '.(!empty($order_table) ? '`'.pSQL($order_table).'`.' : '').'`'.pSQL($order_by).'` '.pSQL($order_way).'
                                LIMIT '.(int)($page_number * $nb_products).', '.(int)$nb_products;

                $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);

                if ($final_order_by == 'price')
                        Tools::orderbyPrice($result, $order_way);
                if (!$result)
                        return false;
                return Product::getProductsProperties($id_lang, $result);
        }

        /*
        ** Get required informations on best sales products
        **
        ** @param integer $id_lang Language id
        ** @param integer $page_number Start from (optional)
        ** @param integer $nb_products Number of products to return (optional)
        ** @return array keys : id_product, link_rewrite, name, id_image, legend, sales, ean13, upc, link
        */
        public static function getBestSalesLight($id_lang, $page_number = 0, $nb_products = 10, Context $context = null)
        {
                if (!$context)
                        $context = Context::getContext();
                if ($page_number < 0) $page_number = 0;
                if ($nb_products < 1) $nb_products = 10;

                $groups = FrontController::getCurrentCustomerGroups();
                $sql_groups = (count($groups) ? 'IN ('.implode(',', $groups).')' : '= 1');

                //Subquery: get product ids in a separate query to (greatly!) improve performances and RAM usage
                $sql = 'SELECT cp.`id_product`
                FROM `'._DB_PREFIX_.'category_group` cg
                LEFT JOIN `'._DB_PREFIX_.'category_product` cp ON (cp.`id_category` = cg.`id_category`)
                WHERE cg.`id_group` '.$sql_groups.' AND cp.`id_product` IS NOT NULL';
                $products = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
                $ids = array();
                foreach ($products as $product)
                        $ids[$product['id_product']] = 1;
                $ids = array_keys($ids);
                sort($ids);
                $ids = array_filter($ids);
                $ids = count($ids) > 0 ? implode(',', $ids) : 'NULL';

                //Main query
                $sql = 'SELECT p.id_product, pl.`link_rewrite`, pl.`name`, pl.`description_short`, MAX(image_shop.`id_image`) id_image, il.`legend`,
                                        ps.`quantity` AS sales, p.`ean13`, p.`upc`, cl.`link_rewrite` AS category, p.show_price, p.available_for_order, p.quantity, p.customizable,
                                        IFNULL(pa.minimal_quantity, p.minimal_quantity) as minimal_quantity, p.out_of_stock
                                FROM `'._DB_PREFIX_.'product_sale` ps
                                LEFT JOIN `'._DB_PREFIX_.'product` p ON ps.`id_product` = p.`id_product`
                                '.Shop::addSqlAssociation('product', 'p').'
                                LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa ON (ps.`id_product` = pa.`id_product` AND pa.default_on = 1)
                                LEFT JOIN `'._DB_PREFIX_.'product_lang` pl
                                        ON p.`id_product` = pl.`id_product`
                                        AND pl.`id_lang` = '.(int)$id_lang.Shop::addSqlRestrictionOnLang('pl').'
                                LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product`)'.
                                Shop::addSqlAssociation('image', 'i', false, 'image_shop.cover=1').'
                                LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$id_lang.')
                                LEFT JOIN `'._DB_PREFIX_.'category_lang` cl
                                        ON cl.`id_category` = product_shop.`id_category_default`
                                        AND cl.`id_lang` = '.(int)$id_lang.Shop::addSqlRestrictionOnLang('cl').'
                                WHERE product_shop.`active` = 1
                                        AND p.`visibility` != \'none\'
                                        AND p.`id_product` IN ('.$ids.')
                                GROUP BY product_shop.id_product
                                ORDER BY sales DESC
                                LIMIT '.(int)($page_number * $nb_products).', '.(int)$nb_products;

                if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql))
                        return false;

                foreach ($result as &$row)
                {
                         $row['link'] = $context->link->getProductLink($row['id_product'], $row['link_rewrite'], $row['category'], $row['ean13']);
                         $row['id_image'] = Product::defineProductImage($row, $id_lang);
                        $row['allow_oosp'] = Product::isAvailableWhenOutOfStock($row['out_of_stock']);
                        $row['price_tax_exc'] = Product::getPriceStatic(
                                                (int)$row['id_product'],
                                                false,
                                                ((isset($row['id_product_attribute']) && !empty($row['id_product_attribute'])) ? (int)$row['id_product_attribute'] : null),
                                                (Product::$_taxCalculationMethod == PS_TAX_EXC ? 2 : 6)
                                        );
                }
                return $result;
        }

        public static function addProductSale($product_id, $qty = 1)
        {
                return Db::getInstance()->execute('
                        INSERT INTO '._DB_PREFIX_.'product_sale
                        (`id_product`, `quantity`, `sale_nbr`, `date_upd`)
                        VALUES ('.(int)$product_id.', '.(int)$qty.', 1, NOW())
                        ON DUPLICATE KEY UPDATE `quantity` = `quantity` + '.(int)$qty.', `sale_nbr` = `sale_nbr` + 1, `date_upd` = NOW()');
        }

        public static function getNbrSales($id_product)
        {
                $result = Db::getInstance()->getRow('SELECT `sale_nbr` FROM '._DB_PREFIX_.'product_sale WHERE `id_product` = '.(int)$id_product);
                if (!$result || empty($result) || !key_exists('sale_nbr', $result))
                        return -1;
                return (int)$result['sale_nbr'];
        }

        public static function removeProductSale($id_product, $qty = 1)
        {
                $total_sales = ProductSale::getNbrSales($id_product);
                if ($total_sales > 1)
                        return Db::getInstance()->execute('
                                UPDATE '._DB_PREFIX_.'product_sale
                                SET `quantity` = `quantity` - '.(int)$qty.', `sale_nbr` = `sale_nbr` - 1, `date_upd` = NOW()
                                WHERE `id_product` = '.(int)$id_product
                        );
                elseif ($total_sales == 1)
                        return Db::getInstance()->delete('product_sale', 'id_product = '.(int)$id_product);
                return true;
        }
}

O aplica este parche: https://github.com/PrestaShop/PrestaShop/commit/5f47526ed2fd8d2d6ef82ba1507ae655b122af12 sobre tu fichero.

  • Like 1

Share this post


Link to post
Share on other sites