droperco Posted March 25, 2020 Share Posted March 25, 2020 Hola, estoy creando una nueva tienda basada en Prestashop 1.7.5.2. y los produsctos, mas de 10.000 los estoy subiendo por medio de la importación. El problema es que algunos de los productos no son nuevos, si no reacondicionados y quiero que se vea el estado del mismo, pero al subirlos con un archivo de importación el estado se importa, pero no lo muestra, tendria que ir uno por uno para artivar la pestaña de mostrar estado y siendo mas de 10.000 referencias pues eso...... por eso necesito saber si hay alguna forma de configurar que por defecto se muestre ya que no encuentro ningun apartado en los archivos de importación que puedan darme esa posibilidad. Gracias por adelantado a todo el que me pueda echar un cable. Link to comment Share on other sites More sharing options...
droperco Posted March 28, 2020 Author Share Posted March 28, 2020 Agradezco cualquier aportacion. Gracias. Link to comment Share on other sites More sharing options...
SergioE Posted March 29, 2020 Share Posted March 29, 2020 Hola, En la importación de CSV tienes un campo llamado "Estado" que te permite poner esos valores: Nuevo Utilizado Reacondicionado Simplemente crea una columna llamada Estado y en cada producto asignas un valor de estos 3. Si ya tienes la importación hecha, exporta productos y mientras pongas el ID del producto y el nombre de éste es suficiente. Saludos Link to comment Share on other sites More sharing options...
droperco Posted April 1, 2020 Author Share Posted April 1, 2020 En 29/3/2020 a las 12:21 PM, SergioE dijo: Hola, En la importación de CSV tienes un campo llamado "Estado" que te permite poner esos valores: Nuevo Utilizado Reacondicionado Simplemente crea una columna llamada Estado y en cada producto asignas un valor de estos 3. Si ya tienes la importación hecha, exporta productos y mientras pongas el ID del producto y el nombre de éste es suficiente. Saludos Gracias por tu aportación. Lo que me ocurre es que el estado ya aparece en la ficha, pero al suvirlo por csv la pestaña de "Mostrar condición en la página de producto" no se activa y a eso me refiero, si hay una forma de que se active mediante un archivo csv u otro sistema y que por defecto todos los articulos se marque para que aparezca el estado que ya tiene guardado en la ficha. Saludos. Link to comment Share on other sites More sharing options...
Juanjomg Posted April 3, 2020 Share Posted April 3, 2020 Muy buenas. No se si habrá alguna opción dentro del administrador para hacer lo que necesitas, dentro del importador de productos no lo veo. Si tienes acceso a la base de datos con una simple sentencia puedes activar todos los productos. Update ps_product set show_condition=1; Update ps_product_shop set show_condition=1; Pruébalo primero con un solo producto para ver que todo funciona, sustituyendo xxx por el id del producto a modificar. Update ps_product set show_condition=1 where id_product=xxx; Update ps_product_shop set show_condition=1 where id_product=xxx; También puedes filtrarlo por el valor del estado (new, refurbished, used). Update ps_product_shop set show_condition=1 where `condition` = 'refurbished'; Update ps_product set show_condition=1 where `condition` = 'refurbished'; Otra solución sería tener un script en php o un módulo que te haga el proceso. Link to comment Share on other sites More sharing options...
droperco Posted April 8, 2020 Author Share Posted April 8, 2020 En 3/4/2020 a las 11:59 AM, Juanjomg dijo: i tienes acceso a la base de datos con una simple sentencia puedes activar todos los productos GRacias por tu aportación. Realmente si tengo acceso a la base de datos y a los archivos, pero lo de las sentencias no te voy a engañar, el algo que no se como ejecutarlas, estoy habituado a realizar modificaciones en archivos del prestashop, pero no a ejecutar sentencias en la base de datos. Me puedes indicar algun tutorial en internet que pueda leer para tener una orientacion? Otra vez gracias. Link to comment Share on other sites More sharing options...
Juanjomg Posted April 15, 2020 Share Posted April 15, 2020 Puedes usar el siguiente código. <?php require 'config/config.inc.php'; try { $sql = "Update " . _DB_PREFIX_ . "product set show_condition=1 where id_product=1;"; $sql = $sql."Update " . _DB_PREFIX_ . "product_shop set show_condition=1 where id_product=1"; Db::getInstance()->execute($sql); } catch (Exception $e) { die($e->getMessage()); } echo "Cambio realizado"; Te cambia el estado del producto con id=1, verifica que te funciona y elimina la condición where id_product=1, para aplicarlo a todos los productos. Link to comment Share on other sites More sharing options...
droperco Posted April 16, 2020 Author Share Posted April 16, 2020 hace 7 horas, Juanjomg dijo: Puedes usar el siguiente código. <?php require 'config/config.inc.php'; try { $sql = "Update " . _DB_PREFIX_ . "product set show_condition=1 where id_product=1;"; $sql = $sql."Update " . _DB_PREFIX_ . "product_shop set show_condition=1 where id_product=1"; Db::getInstance()->execute($sql); } catch (Exception $e) { die($e->getMessage()); } echo "Cambio realizado"; Te cambia el estado del producto con id=1, verifica que te funciona y elimina la condición where id_product=1, para aplicarlo a todos los productos. Perfecto, muchas gracias, en cuanto realice la prueba informo del resultado. Gracias. Link to comment Share on other sites More sharing options...
droperco Posted April 18, 2020 Author Share Posted April 18, 2020 Muchas gracias, era lo que necesitaba. Link to comment Share on other sites More sharing options...
nirmuc Posted January 14, 2021 Share Posted January 14, 2021 (edited) Yo también tengo este problema y me parece muy extraño que no haya un modo mediante código para que muestre siempre la condición del producto, ya sea cambiando un tpl o sobreescribiendo una clase, llevo un día intentando resolver esto y no he encontrado una solución elegante sin tener que actualizar masivamente la base de datos .... si alguien tuviese alguna solución se lo agradecería que la compartiese .... He encontrado que la función que hace esta comprobación es esta de la clase ProductLazyArray.php, pero es un archivo del nucleo de prestashop y creo que no se puede sobreescribir esa función .... en mi caso me bastaría con quitar ese primer if class ProductLazyArray extends AbstractLazyArray { .... public function getCondition() { if (empty($this->product['show_condition'])) { return false; } ...... Edited January 14, 2021 by nirmuc (see edit history) 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