Jump to content

Script d'ajout d'images aux articles et duplications


Recommended Posts

Bonjour,

 

lorsque j'utilise ce script d'ajout d'images aux produits :

	require('connect.php');
	if (!defined('_PS_VERSION_')) {
		require_once 'config/config.inc.php';
		require_once 'init.php';
	}
	
	function add($bdd, $reference, $id)
	{	
		if(file_exists('imgArticles/' . $reference . '.jpg')){
			$url = str_replace(' ', '%20', 'http://***/prototype/imgArticles/' . $reference . '.jpg');
			$image = new Image();
			$image->id_product = $id;
			$image->position = Image::getHighestPosition($id) + 1;
			$image->cover = true;
			$shops = Shop::getShops(true, null, true);   

			if (($field_error = $image->validateFields(false, true)) === true &&
			($lang_field_error = $image->validateFieldsLang(false, true)) === true && $image->add())
			{
					if (!AdminImportController::copyImg($id, $image->id, $url, 'products', false))
					{
						$image->delete();
						$this->errors[] = sprintf(Tools::displayError('Error copying image: %s'), $url);
					   }
					   else{
							$image->save();
						}
			}
		}
	}
	
	$bddPS = bddConnect(2);
	$nums = $bddPS->query('SELECT id_product, reference FROM ps_product');

	$nums = $nums->fetchAll();
	foreach($nums as $num){
		add($bdd, $num['reference'], $num['id_product']);
	}

trouvé dans plusieurs sujets relatifs à l'ajout d'image avec scripts, et grâce à votre aide; Il semble qu'il y ait un problème quelque part, sur certains articles lorsque copyImg échoue, la méthode delete arrête le script.

Et lorsque je tente de le lancer sans cette méthode donc sans blocages, le script se lance indéfiniment, me dupliquant des photos sur chaque articles.

Alors que d'après moi il serait censé s'arrêter à la fin du traitement de tout les articles référencés dans la base, j'aurais donc besoin de votre aide pour savoir de quoi cela peut-il provenir :huh:

Edited by Alexenn (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...