Actualización de st...
 
Avisos
Vaciar todo

Actualización de stock a través de url

6 Respuestas
3 Usuarios
0 Reactions
1,009 Visitas
Respuestas: 154
Estimable Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Hola, necesitamos actualizar el stock de nuestros productos a través de la siguiente URL que nos facilita el proveedor: http://petuky.com/ws/stock.php. ¿Hay alguna forma de hacerlo? Gracias

URL del sitio: Contenido solo visible a usuarios registrados


 
Respondido : 08/01/2016 3:13 pm
Jhon
 Jhon
Respuestas: 44954
Illustrious Member Moderator
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Hola

Tiene el formato de un archivo CSV separado por comas, podrías probar un script como el siguiente :

http://www.whiletrue.it/update-prestashop-product-quantities-csv-file/

Realiza primero en un sitio de pruebas

Saludos.


 
Respondido : 08/01/2016 6:28 pm
Respuestas: 154
Estimable Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Gracias Jhon, antes que nada te voy a decir que nos han dicho que la actualización se hace a las 2:30 am, hace falta programar algo distinto o esto es algo que se hace automáticamente?

Aparte, No tengo un sitio de pruebas y la verdad es que no sé cómo hacerlo, intentarè investigarlo.

Por otro lado te pido si me puedes ayudar diciéndome dónde debo pegar este código y si debo modificarle algo.
Un saludo


 
Respondido : 08/01/2016 7:28 pm
Jhon
 Jhon
Respuestas: 44954
Illustrious Member Moderator
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Hola

En la url enviada, la parte de Script code , debes copiar y pegar en un nuevo arcihvo .php , por ejemplo

migración.php, este arhivo debes colocarlo en la raiz de tu sitio web, para que se llame en base a tu dominio, por ejemplo :

Contenido solo visible a usuarios registrados

Esto tendrás que ejecutarlo manualmente cada vez que quieras una migración colocas esto en el navegador y ejectuas, lo otro es que se automatice por cpanel a través de un cron pero primero asegurate de que funione manualmente

No olvides de cambiar los parámetros indicados en el link

Saludos.


 
Respondido : 08/01/2016 9:13 pm
Respuestas: 154
Estimable Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

hola jhon

he creado el archivo .php le he llamado stock.php
al abrir www.tiendawalkingdogs.com/stock.php se abre una ventana que dice error delservidor 500
cargar de nuevo
no se si he cometido algún error en el codigo o es porque el stock se actualiza a las 2:30 ( los provedores nos han dicho que se actualiza a las 2:30 am)

no se que será la url del stock es http://petuky.com/ws/stock.php y el codigo a quedado asi:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// MAIN CYCLE
$row_num = 0;
if (($handle = fopen($remote_csv_file, "r")) !== false) {
while (($data = fgetcsv($handle, 1000, ",")) !== false) {
$row_num++;
if ($row_num == 1) {
// SKIP FIRST LINE (HEADER)
continue;
}
if ($data[0] == '' || !is_numeric($data[1])) {
// SKIP EMPTY VALUES
continue;
}

// INPUT SANITIZATION
$reference = trim($data[0]);
$quantity = ($data[1] >= 0) ? $data[1] : 0;

try {
$res4 = $db->prepare("SELECT id_product, id_product_attribute from "._*_."product_attribute WHERE reference = :reference");
$res4->execute(array(':reference'=>$reference));

if ($res4->rowCount() > 0) {

// IT'S A PRODUCT COMBINATION

$row4 = $res4->fetch();

$res = $db->prepare("update "._*_."stock_available set quantity = :q where id_product_attribute = :id_product_attribute");
$res->execute(array(':q'=>$quantity, ':id_product_attribute'=>$row4['id_product_attribute']));

$res = $db->prepare("update "._**_."product_attribute set quantity = :q where id_product_attribute = :id_product_attribute");
$res->execute(array(':q'=>$quantity, ':id_product_attribute'=>$row4['id_product_attribute']));

$res = $db->prepare("update "._*_."stock_available set quantity = quantity + :q where id_product = :id_product and id_product_attribute = 0");
$res->execute(array(':q'=>$quantity, ':id_product'=>$row4['id_product']));

$res = $db->prepare("update "._**_."product set quantity = quantity + :q where id_product = :id_product");
$res->execute(array(':q'=>$quantity, ':id_product'=>$row4['id_product']));

} else {

// IT'S A SIMPLE PRODUCT

$res4 = $db->prepare("SELECT id_product from "._**_."product WHERE reference = :reference");
$res4->execute(array(':reference'=>$reference));
if ($res4->rowCount() > 0) {
$row4 = $res4->fetch();

$res = $db->prepare("update "._**_."stock_available set quantity = :q where id_product = :id_product and id_product_attribute = 0");
$res->execute(array(':q'=>$quantity, ':id_product'=>$row4['id_product']));

$res = $db->prepare("update "._**_."product set quantity = :q where id_product = :id_product");
$res->execute(array(':q'=>$quantity, ':id_product'=>$row4['id_product']));
}

}
} catch (PDOException $e) {
echo 'Sql Error: '. $e->getMessage() .'

';
}
}
fclose($handle);
}

el nombre DB , usuario y contraseña les he sacado del Cpanel y el prefijo tambien (estos datos estan en ***)
espero respuesta, un saludo


 
Respondido : 11/01/2016 1:13 am
Luis Mendez Alejo
Respuestas: 23269
Illustrious Member
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Hola Alejandro,

Al ser un tema que implica comprobación de configuraciones de tu cuenta de Hosting, tareas cron y posibles bloqueos de scripts externos es mejor que plantees la consulta por medio de Ticket para que el Departamento de Soporte la revise y te den las indicaciones oportunas.

Desde el Foro no podemos hacer mucho al respecto.

Saludos


 
Respondido : 11/01/2016 2:37 am