Jump to content

chenler19

Members
  • Posts

    57
  • Joined

  • Last visited

Profile Information

  • Activity
    Project Owner

chenler19's Achievements

Newbie

Newbie (1/14)

2

Reputation

  1. Hi, I have a really problem. I removed blockcart. I had a problem because the add to cart button did not update the cart and I thought about deleting the module and reinstalling it, but I can't find it anywhere. Who knows where you can download it for prestashop version 1.7? Thanks. I downloaded all prestashop 1.7, zip the module and install in my shop.
  2. Buenos días, Estoy intentando hacer una página que me consulte los pedidos en "estado enviado" de cada día y envíe un email automáticamente con los datos de los pedidos a la agencia de transportes, pero la verdad es que estoy parado con la consulta a la base de datos, la consulta la tengo correcta, pero al hacerla mediante PHP no me sale y desconozco el motivo, he probado ya mil cosas, a ver si alguien tiene una idea. Os pongo lo que tengo de código: <!DOCTYPE html> <html> <body> <?php /* ACCESO A LA BD CON UNA CONSULTA DE LOS PEDIDOS QUE SE HAN PUESTO EN ESTADO "ENVIADO" EN EL DIA DE HOY*/ $servername = "MI_NOMBRE_SERVIDOR"; $username = "MI_NOMBRE_USUARIO"; $password = "MI_PASSWORD"; $dbname = "MI_NOMBRE_BD"; $conn = new mysqli($servername, $username, $password); // COMPRUEBO CONEXION if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; mysql_select_db($dbname, $conn); $sql='SELECT * FROM `'._DB_PREFIX_.'product`'; $result = $conn->query($sql); echo "$result"; if ($result->num_rows > 0) { // output data of each row echo "entra a mostrar resultados"; while($row = $result->fetch_assoc()) { echo "<br> id: ". $row["id"]. " - Name: ". $row["firstname"]. " " . $row["lastname"] . "<br>"; } } else { echo "0 results"; } EL RESULTADO QUE OBTENGO ES: Connected successfully0 results Es como si la consulta no tuviera resultados, pero cuando la hago desde prestashop si funciona y obtengo datos. También he probado a hacerla de varias maneras ($sql='SELECT * FROM `ps_product`';) ... pero nada. Creo que el problema está en que la consulta no tiene datos... Alquien me podría echar una mano para hacer un ejemplo de consulta a la BD de prestashop? Gracias.
  3. He sacado algún tiempo y he visto que la clase que controla el bloque más vendidos de la página principal es ese archivo que he comentado, he modificado esta función con las frases en rojo, pero la consulta no obtiene nada: 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; } // no group by needed : there's only one attribute with default_on=1 for a given id_product + shop // same for image with cover=1 $sql = ' SELECT p.id_product, IFNULL(product_attribute_shop.id_product_attribute,0) id_product_attribute, pl.`link_rewrite`, pl.`name`, pl.`description_short`, product_shop.`id_category_default`, image_shop.`id_image` id_image, il.`legend`, n.`product_quantity` AS sales, p.`ean13`, p.`upc`, cl.`link_rewrite` AS category, p.show_price, p.available_for_order, IFNULL(stock.quantity, 0) as quantity, p.customizable, IFNULL(pa.minimal_quantity, p.minimal_quantity) as minimal_quantity, stock.out_of_stock, product_shop.`date_add` > "'.date('Y-m-d', strtotime('-'.(Configuration::get('PS_NB_DAYS_NEW_PRODUCT') ? (int)Configuration::get('PS_NB_DAYS_NEW_PRODUCT') : 20).' DAY')).'" as new, product_shop.`on_sale`, product_attribute_shop.minimal_quantity AS product_attribute_minimal_quantity , SUM(n.product_quantity) AS Cantidad , n.product_id FROM `'._DB_PREFIX_.'orders` ps LEFT JOIN ps_order_detail n ON n.id_order = ps.id_order LEFT JOIN `'._DB_PREFIX_.'product` p ON ps.`id_product` = p.`id_product` '.Shop::addSqlAssociation('product', 'p').' LEFT JOIN `'._DB_PREFIX_.'product_attribute_shop` product_attribute_shop ON (p.`id_product` = product_attribute_shop.`id_product` AND product_attribute_shop.`default_on` = 1 AND product_attribute_shop.id_shop='.(int)$context->shop->id.') LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa ON (product_attribute_shop.id_product_attribute=pa.id_product_attribute) 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_shop` image_shop ON (image_shop.`id_product` = p.`id_product` AND image_shop.cover=1 AND image_shop.id_shop='.(int)$context->shop->id.') LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (image_shop.`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').Product::sqlStock('p', 0); $sql .= ' WHERE ps.`invoice_date` BETWEEN \'2016-12-01\' AND \'2016-12-31\''; if (Group::isFeatureActive()) { $groups = FrontController::getCurrentCustomerGroups(); $sql .= ' AND EXISTS(SELECT 1 FROM `'._DB_PREFIX_.'category_product` cp JOIN `'._DB_PREFIX_.'category_group` cg ON (cp.id_category = cg.id_category AND cg.`id_group` '.(count($groups) ? 'IN ('.implode(',', $groups).')' : '= 1').') WHERE cp.`id_product` = p.`id_product`)'; } $sql .= ' GROUP BY n.product_id ORDER BY n.product_quantity DESC LIMIT '.(int)($page_number * $nb_products).', '.(int)$nb_products; if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql)) { return false; } return Product::getProductsProperties($id_lang, $result); } como digo, cualquier ayuda es bienvenida para hacer una consulta por fechas. He cambiado la tabla de consulta inicial (FROM `'._DB_PREFIX_.'product_sale` ps) por (FROM `'._DB_PREFIX_.'orders` ps) porque la primera tabla tiene las cantidades vendidas desde el origen de la tienda, por lo que no servía. La segunda tabla tiene los productos vendidos, simplemente agrupando por id de producto y sumando las cantidades valdría, pero como digo la consulta no me da ningún producto.
  4. Buenas, Os pongo una consulta donde también aparece el precio de venta y el coste, creo que es similar a lo que preguntaís en este post, y aparecen estos parámetros: Cliente Producto Cantidad Precio_Venta_Producto Precio_Coste_Producto Descuento Total_pagado Forma_de_pago Fecha_compra id_category SELECT CONCAT_WS( ' ', g.firstname, g.lastname ) AS Cliente, n.product_name AS Producto, n.product_quantity AS Cantidad,n.total_price_tax_incl AS Precio_Venta_Producto, n.original_wholesale_price AS Precio_Coste_Producto, o.total_discounts AS Descuento , o.total_paid_tax_incl AS Total_pagado, o.payment AS Forma_de_pago, o.invoice_date AS Fecha_compra, h.id_category FROM ps_orders o LEFT JOIN ps_customer g ON g.id_customer = o.id_customer LEFT JOIN ps_order_detail n ON n.id_order = o.id_order LEFT JOIN ps_category_product h ON h.id_product = n.product_id WHERE o.date_upd BETWEEN '2014-01-01' AND '2017-12-31' AND h.id_category = 31 (esta línea es opcional, Yo lo tengo filtrado para que solo me salgan los productos de la categoria con ID = 31, que es la que me interesa, si quitáis esto saldrían todos los productos) ORDER BY o.date_upd DESC Lo tengo también ordenador por fecha. Es para prestashop 1.6, en el resto no se como está la B.D. Un saludo.
  5. Hola, gracias por responder. La verdad es que le he dado vueltas pero en ese archivo que me comentas no encuentro ninguna consulta a la base de datos, tampoco soy experto, pero no encuentro la consulta. He visto en este archivo: httpdocs/classes/ProductSale.php que vienen bastantes consultas, entre ellas esta: /* ** Get required informations on best sales products ** ** @param int $id_lang Language id ** @param int $page_number Start from (optional) ** @param int $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; } // no group by needed : there's only one attribute with default_on=1 for a given id_product + shop // same for image with cover=1 $sql = ' SELECT p.id_product, IFNULL(product_attribute_shop.id_product_attribute,0) id_product_attribute, pl.`link_rewrite`, pl.`name`, pl.`description_short`, product_shop.`id_category_default`, 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, IFNULL(stock.quantity, 0) as quantity, p.customizable, IFNULL(pa.minimal_quantity, p.minimal_quantity) as minimal_quantity, stock.out_of_stock, product_shop.`date_add` > "'.date('Y-m-d', strtotime('-'.(Configuration::get('PS_NB_DAYS_NEW_PRODUCT') ? (int)Configuration::get('PS_NB_DAYS_NEW_PRODUCT') : 20).' DAY')).'" as new, product_shop.`on_sale`, product_attribute_shop.minimal_quantity AS product_attribute_minimal_quantity 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_shop` product_attribute_shop ON (p.`id_product` = product_attribute_shop.`id_product` AND product_attribute_shop.`default_on` = 1 AND product_attribute_shop.id_shop='.(int)$context->shop->id.') LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa ON (product_attribute_shop.id_product_attribute=pa.id_product_attribute) 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_shop` image_shop ON (image_shop.`id_product` = p.`id_product` AND image_shop.cover=1 AND image_shop.id_shop='.(int)$context->shop->id.') LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (image_shop.`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').Product::sqlStock('p', 0); $sql .= ' WHERE product_shop.`active` = 1 AND p.`visibility` != \'none\''; if (Group::isFeatureActive()) { $groups = FrontController::getCurrentCustomerGroups(); $sql .= ' AND EXISTS(SELECT 1 FROM `'._DB_PREFIX_.'category_product` cp JOIN `'._DB_PREFIX_.'category_group` cg ON (cp.id_category = cg.id_category AND cg.`id_group` '.(count($groups) ? 'IN ('.implode(',', $groups).')' : '= 1').') WHERE cp.`id_product` = p.`id_product`)'; } $sql .= ' ORDER BY ps.quantity DESC LIMIT '.(int)($page_number * $nb_products).', '.(int)$nb_products; if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql)) { return false; } return Product::getProductsProperties($id_lang, $result); } Pero la verdad que no se si será aquí, porque no se a que función llaman para obtener los productos más vendidos. Cualquier ayuda será bienvenida!! Gracias.
  6. Parece ser que lo que se dice en este hilo funciona, pero por lo que dicen solo para 1 atributo. Yo lo he probado y me funciona cuando el producto unicamente tiene un atributo, no lo he probado con dos, pero según dicen no funciona correctamente con dos: https://www.prestashop.com/forums/topic/447213-layered-navigation-block-module-dont-display-out-of-stock-products-for-choosen-attributes/
  7. Cierto, a mi me pasa igual, no encuentro nada para solucionarlo. Si alguien sabe algo que por favor nos eche una mano . Gracias
  8. Buenas tardes, Acabo de activar el módulo productos "más vendidos" y me da la sensación que los productos que saca a la web son los más vendidos de la tienda desde origen. Mi pregunta es si es posible configurar de alguna manera el módulo o el código para que únicamente te muestre los productos más vendidos del último mes por ejemplo. Ya que si tienes algunos productos que son de temporada de invierno y quizá no son los más vendidos durante el año, pero si son los más vendidos en los meses de invierno, si es necesario que salgan como los más vendidos en cierta época. Pienso que de donde obtiene el módulo la lista de productos se podría añadir una consulta que restringiera la búsqueda por fecha al último mes. Alguien me podría dar alguna ayuda? Gracias!
  9. Hola , tengo el módulo de "comentarios sobre el producto" y el tema es que cuando le doy a dar un comentario me sale esta imagen que adjunto, me salen las estrellas un poco desconfiguradas y además cuando pulso la estrella 5, por ejemplo, no se quedan iluminadas las primeras, como entiendo que debería suceder. Me podríais echar una mano? Veo que hay un div con la clase "cancel" donde no debería estar, pero cuando voy a products /httpdocs/modules/productcomments/productcomments.tpl no lo veo , ahí aparece todo correcto: <div class="new_comment_form_content"> <h2>{l s='Write your review' mod='productcomments'}</h2> <div id="new_comment_form_error" class="error" style="display:none;padding:15px 25px"> <ul></ul> </div> {if $criterions|@count > 0} <ul id="criterions_list"> {foreach from=$criterions item='criterion'} <li> <label>{$criterion.name|escape:'html':'UTF-8'}</label> <div class="star_content"> <input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="1" /> <input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="2" /> <input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="3" /> <input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="4" /> <input class="star" type="radio" name="criterion[{$criterion.id_product_comment_criterion|round}]" value="5" checked="checked" /> </div> <div class="clearfix"></div> </li> {/foreach} </ul> {/if} Y la verdad es que no se que hacer..
  10. Hola, Quería preguntaros si hago que varios productos pertenezca a dos o tres categorías a la vez. Por ejemplo: -categoria zapatos - subcategoría niños - subcategoría niñas - subcategoría adulto Si un producto es válido para las tres categorías y lo asocio a las tres, me dará luego un problema de duplicado en google search console?, los metatítulos, la metadescripción, la descripción? etc? La otra opción sería utilizar la misma foto pero hacer tres productos variando algo esos datos para que no saliera duplicado, pero esto es super laborioso. Alguien sabe algo sobre esto?¿ Gracias de antemano.
  11. Buenas, lo he probado y todo parecia funcionar correctamente hasta que un par de clientes me dijeron que no podía cambiar los colores. Y parece ser que es por el navegador firefox, me lo he descargado y todo me funciona bien en internet explorer, chrome y moviles, pero en firefox no funciona, sale en blanco los atributos y no se pueden elegir. Alguien tendría una respuesta?¿? Gracias de antemano.
  12. Hola, Quería hacer un cambio en la home, en el archivo global.ccs cambio esto: body { font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.42857; color: #777777; background-color: #fff; } por esto: body { font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.42857; color: #777777; background-color: #fff; margin: 0 auto; border: 1px solid #F1F1F1; box-shadow: 0px 2px 3px 2px #666; background: url('../img/fondo.jpg') repeat; width: 1200px } Cuando cambio el ancho, también veo que se modifica el ancho en la versión movil y sale demasiado ancho con respecto a la pantalla. Alquien me podría echar una mano ... Gracias.
  13. En módulos y servicios se encuentra el módulo "Menú horizontal superior", ahí puedes añadir y quitar las categorias que quieres que se vean en el menú superior del home. No se si te refieres a eso? Saludos.
×
×
  • Create New...