Maquin Posted January 3, 2013 Share Posted January 3, 2013 (edited) Buenos días a todos y feliz año nuevo. Quisiera saber como poder limitar el número de productos que se pueden introducir en una tienda prestashop, por ejemplo a 500 productos. Pero no veo como hacerlo, ¿alguien me puede ayudar? Un saludo, Maquin. Edited March 19, 2013 by Maquin (see edit history) Link to comment Share on other sites More sharing options...
YMOON Posted January 5, 2013 Share Posted January 5, 2013 Buenos días a todos y feliz año nuevo. Quisiera saber como poder limitar el número de productos que se pueden introducir en una tienda prestashop, por ejemplo a 500 productos. Pero no veo como hacerlo, ¿alguien me puede ayudar? Un saludo, Maquin. Hola! yo estoy buscando lo mismo! pero aún no doy con la respuesta.! Alguien puede darnos una mano? gracias! Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted January 5, 2013 Share Posted January 5, 2013 Buenos días a todos y feliz año nuevo. Quisiera saber como poder limitar el número de productos que se pueden introducir en una tienda prestashop, por ejemplo a 500 productos. Pero no veo como hacerlo, ¿alguien me puede ayudar? Un saludo, Maquin. ¿A nivel de administración en el back-office, para los empleados? Saludos Link to comment Share on other sites More sharing options...
Maquin Posted January 7, 2013 Author Share Posted January 7, 2013 ¿A nivel de administración en el back-office, para los empleados? Saludos A ver me explico, he visto en varias páginas que ofrecen tiendas online y utilizan la tecnología de prestashop que pone... para X precio se pueden insertar 200 productos para Y precio la tienda tiene una capacidad de 500 productos. Yo soy programador y quiero hacer tiendas de esa forma para poder ofrecer tiendas económicas a gente que lo mismo no necesitan tantos productos, entonces quisiera limitar el número de productos que se pueden introducir a través de prestashop y no se realizar esto. Había pensado que quizás fuera por el tamaño del espacio de hosting que quizás para 200mb pues deje 200 productos por ejemplo, pero claro... si es así,... no habría espacio para albergar nuevas características como facturas o nuevos pedidos, entonces supongo que se podrá hacer modificando alguna parte del código de la tienda. Esto es lo que quiero averiguar, no se si me explicado. Un saludo, gracias y feliz año a todos! Link to comment Share on other sites More sharing options...
YMOON Posted January 7, 2013 Share Posted January 7, 2013 A ver me explico, he visto en varias páginas que ofrecen tiendas online y utilizan la tecnología de prestashop que pone... para X precio se pueden insertar 200 productos para Y precio la tienda tiene una capacidad de 500 productos. Yo soy programador y quiero hacer tiendas de esa forma para poder ofrecer tiendas económicas a gente que lo mismo no necesitan tantos productos, entonces quisiera limitar el número de productos que se pueden introducir a través de prestashop y no se realizar esto. Había pensado que quizás fuera por el tamaño del espacio de hosting que quizás para 200mb pues deje 200 productos por ejemplo, pero claro... si es así,... no habría espacio para albergar nuevas características como facturas o nuevos pedidos, entonces supongo que se podrá hacer modificando alguna parte del código de la tienda. Esto es lo que quiero averiguar, no se si me explicado. Un saludo, gracias y feliz año a todos! Hola Maquin, está más que clara tu explicación. Buscando en el foro en inglés encontré esta respuesta: From 1302653637: An "addProduct" hook is available, but... user with admin access could uninstall the controlling module, eh? So, edit AdminProducts.php find public function submitAddProduct($token = NULL) { global $cookie, $currentIndex, $link; and, immediately beneath those lines, insert: $myvar = Db::getInstance()->Execute('SELECT COUNT(*) FROM '._DB_PREFIX_.'product'); if( intval($myvar) >= 2000) { $this->_errors[] = 'limit reached -- shop may contain 2000 products, max'; } Save the AdminProducts.php file and test ~~ the max products limitation will take effect immediately. (When testing, use a low number within the if statement, not 2000!) puede que sea la solución para lo que necesitamos!! pero no consigo encontrar estas líneas, ya que esta respuesta fue en el 2011 y Prestashop cambió su código en la versión 1.5 entonces no encuentro el archivo adminproducts.php! el archivo que estoy mirando es el adminproductscontroller.php pero no encuentro nada. quizás tu que eres programador tienes más suerte y puedes dar con las líneas!! aguardo tus comentarios! feliz año para ustedes también! gracias 1 Link to comment Share on other sites More sharing options...
Maquin Posted February 27, 2013 Author Share Posted February 27, 2013 Buenas tardes, hasta ahora no he podido dedicarle tiempo a esto. Te pongo los fragmentos de código y donde insertarlos: classes/Product.php Aquí tenemos que crear la función de consulta por ejemplo public function myFuncion() { $result = Db::getInstance()->executeS('SELECT id_product FROM '._DB_PREFIX_.'product'); $total = count($result); return $total; } Después nos vamos a... controllers/admin/AdminProductControllers.php aquí es donde haremos la comprobación y evitaremos insertar: buscamos el método con nombre processAdd y después de su declaración añadimos: $obj = new Product(); $num = $obj->myFuncion(); if($num>= aquí ponemos el límite de los productos ) { $this->errors[] = Tools::displayError('El mensaje de error.'); return false; } y luego.... buscamos el método proccessDuplicate para evitar que puedan duplicar y luego modificar. Insertamos en la primera línea después de la declaración: $obj = new Product(); $num = $obj->myFuncion(); if($num>= aquí ponemos el límite de los productos ) { $this->errors[] = Tools::displayError('El mensaje de error.'); return; } Un saludo, espero que os sirva. Link to comment Share on other sites More sharing options...
nadie Posted February 27, 2013 Share Posted February 27, 2013 Buenas tardes, hasta ahora no he podido dedicarle tiempo a esto. Te pongo los fragmentos de código y donde insertarlos: classes/Product.php Aquí tenemos que crear la función de consulta por ejemplo public function myFuncion() { $result = Db::getInstance()->executeS('SELECT id_product FROM '._DB_PREFIX_.'product'); $total = count($result); return $total; } Después nos vamos a... controllers/admin/AdminProductControllers.php aquí es donde haremos la comprobación y evitaremos insertar: buscamos el método con nombre processAdd y después de su declaración añadimos: $obj = new Product(); $num = $obj->myFuncion(); if($num>= aquí ponemos el límite de los productos ) { $this->errors[] = Tools::displayError('El mensaje de error.'); return false; } y luego.... buscamos el método proccessDuplicate para evitar que puedan duplicar y luego modificar. Insertamos en la primera línea después de la declaración: $obj = new Product(); $num = $obj->myFuncion(); if($num>= aquí ponemos el límite de los productos ) { $this->errors[] = Tools::displayError('El mensaje de error.'); return; } Un saludo, espero que os sirva. Estimado Maquin, Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje, pulsando en editar, y después en "Usar editor completo", añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro. Link to comment Share on other sites More sharing options...
Recommended Posts