Página 1 de 1

[TUTORIAL] Método facilitado de inserir produtos

Enviado: 09 Dez 2011, 14:13
por Markus Magnus
Olá este forum me ajudou bastante e em retribuição gostaria de postar algo que desenvolvi.

A empresa a onde trabalho irá começar a revender produtos de uma outra loja de eletronicos eu e mais um rapaz estavamos perdendo pelo menos 10 minutos entre copiar e colar as informações do produto, copiando do site original baixar as imagens do produto colocar no servidor, via filezilla, pois consideramos assim mais facil de criar e organizar as pastas com as imagens.
Estudei o banco do opencart e desenvolvi esse arquivo que o usuário tem que configurar o nome do banco, nome do usuario, senha de acesso e o ip do servidor do banco, caso esteja em uma maquina diferente da onde esteja o arquivo.
Feito isso é só acessar e cadastrar.

Preenchendo os campos:
Nome do Produto

Modelo do Produto : Sendo retirado alguns caracteres \, ", ', *, troco \ por -, colocando todas as letras em minusculas e ja corto em 64 caracteres(tamanho maximo admitido pelo opencart). Esse modelo tambem adiciono como keyword, description

Preço do Produto

Fabricante : Ele vai pesquisar no banco os fabricantes apresentando um select para a escolha.

Diretório : Ele vai mostrar todas as pastas dentro de "/image/data" na pasta que for escolhida será criada uma pasta com o nome do modelo do produto e dentro desta pasta sera guardado as imagens, a pasta terá permição 777.

Imagens : São oito campos de texto para se colocar a URL da imagem (Como eu tinha um site para "retirar as imagens", era muito chato baixa-las e coloca-las no servidor) o php vai usar um comando "wget" para baixar a imagem e ja vai salva-la na pasta correta e inserir essa informação no banco, a primeira imagem será inserida como a principal e os outros serão imagens adicionais, assim coloque as URL's na ordem que desejar que elas apareção

Categorias : Selecione todas as categorias que quiser.

Descricao

Peso

Largura

Altura

Comprimento

E finalmente envie.

Reduzi o tempo de cadastro dos produtos para 3min (quando tava com preguiça rsrs).
Espero ter ajudado
Abraços a Todos
Código: Selecionar todos
<?php
function consulta($query){
	$nome_banco = 'nome do banco';
	$senha_banco = 'senhado banco';
	$usuario_banco = 'usuario';
	$local_banco = '127.0.0.1';
	$conexao = mysql_pconnect($local_banco, $usuario_banco, $senha_banco);
	if(!$conexao){die('Não foi possível conectar: '.mysql_error());}
	$banco = mysql_select_db ($nome_banco, $conexao);
	if(!$banco){die('Não foi possível conectar no banco: '.mysql_error());}
	$resultado = mysql_query($query, $conexao);
	if(!$resultado){die('<br />Não foi possível fazer a consulta: '.mysql_error().'<br />'.$query);}
	if (strpos($query, 'SELECT') !== false) {
		$i=0;
		while($result = mysql_fetch_assoc($resultado)) {
			foreach ($result as $key=>$valor){$var[$i][$key] = $valor;}
			$i++;
		}
		return $var;
	}
}
if ($_REQUEST['nome'] != "") {
	$_REQUEST['modelo'] = substr(strtolower(str_replace("/", "-", str_replace("\\", "", str_replace('"', '', str_replace("*", "", str_replace("'", "", $_REQUEST['modelo'])))))), 0, 63);
	consulta("INSERT INTO product (model, quantity, stock_status_id, image, manufacturer_id, shipping, price, points, tax_class_id, date_available, weight, weight_class_id, length, width, height, length_class_id, subtract, minimum, sort_order, status, date_added, date_modified, viewed) VALUES ('".$_REQUEST['modelo']."', 1000, 7, '', '".$_REQUEST['fabricante']."', 1, '".$_REQUEST['preco']."', 0, 0, DATE(NOW()), '".$_REQUEST['peso']."', 1, '".$_REQUEST['largura']."', '".$_REQUEST['comprimento']."', '".$_REQUEST['altura']."', 1, 0, 1, 1, 1, NOW(), NOW(), 0)");
	$produto = consulta("SELECT `product`.`product_id` FROM `product` WHERE `product`.`model` = '".$_REQUEST['modelo']."' && price LIKE '".$_REQUEST['preco']."%' LIMIT 1");
	$id = $produto[0]['product_id'];
	consulta("INSERT INTO product_to_store (product_id, store_id) VALUES ($id, 0)");
	consulta("INSERT INTO product_description (product_id, language_id, name, description, meta_description, meta_keyword) VALUES ($id, 2, '".$_REQUEST['nome']."', '".$_REQUEST['descricao']."', '".$_REQUEST['modelo']."', '".$_REQUEST['modelo']."')");
	foreach($_REQUEST['categorias'] as $categoria) {
		consulta("INSERT INTO product_to_category (product_id, category_id) VALUES ($id, $categoria)");
	}
	$pasta = getcwd()."/data/".$_REQUEST['pastas']."/".$_REQUEST['modelo'];
	mkdir($pasta, 0777);
	$img = 0;
	foreach($_REQUEST['imagens'] as $imagem) {
		if($imagem != "") {
			$nome = end(explode("/", $imagem));
			shell_exec("wget -O \"$pasta/$nome\" \"$imagem\" ");
			if ($img == 0) {
				consulta("UPDATE `product` SET image = 'data/".$_REQUEST['pastas']."/".$_REQUEST['modelo']."/$nome' WHERE product_id = '$id'");
				$img++;
			} else {
				consulta("INSERT INTO product_image (image, product_id) VALUES ('data/".$_REQUEST['pastas']."/".$_REQUEST['modelo']."/$nome', $id)");
			}
		}
	}
}

$diretorio = getcwd()."/data";
function lerpastas($pasta) {
	$ponteiro  = opendir($pasta);
	while ($itens = readdir($ponteiro)) {
   		if ($itens!="." && $itens!=".."){
			if (!strpos($itens, ".") && !strpos($itens, " ")) {
				$pastas[] = $pasta."/".$itens;
				$pastas[] = lerpastas($pasta."/".$itens);
			}
		}
	}
	return $pastas;
}
function escreverpastas($pastas) {
	foreach ($pastas as $pasta) {
		if(is_array($pasta)) {
			$result .= escreverpastas($pasta);
		} else {
			if($pasta != "") {
				$pasta = str_replace(getcwd()."/data/", "", $pasta);
				$result .= "<option value=\"$pasta\">$pasta</option>";
			}
		}
	}
	return $result;
}
$pastas = lerpastas($diretorio);
$selectpastas = "<select name=\"pastas\">";
if(is_array($pastas)) {
	$selectpastas .= escreverpastas($pastas);
}
$selectpastas .= "</select>";

$fabricantes = consulta("SELECT * FROM manufacturer");
$fabri = "<select name=\"fabricante\">";
foreach($fabricantes as $fabricante) {
	$fabri .= "<option value=\"".$fabricante['manufacturer_id']."\">".$fabricante['name']."</option>";
}
$fabri .= "</select>";

$categorias = consulta("SELECT *, (SELECT name FROM category_description WHERE `category_description`.`category_id` = `category`.`parent_id`) as categoriapai FROM category, category_description WHERE `category_description`.`category_id` = `category`.`category_id` ORDER BY (SELECT name FROM category_description WHERE `category_description`.`category_id` = `category`.`parent_id`) ASC");
foreach ($categorias as $key => $row) {
	if($row['categoriapai'] == "") {
		$nome[$key] = $row['name'];
	} else {
		$nome[$key] = $row['categoriapai']."/".$row['name'];
	}
}
array_multisort($nome, SORT_ASC, $categorias);
foreach($categorias as $categoria) {
	$cate .= "<div style=\"width:25%; float:left;\"><input type=\"checkbox\" name=\"categorias[]\" value=\"".$categoria['category_id']."\">";
	if($categoria['categoriapai'] != "") {$cate .= $categoria['categoriapai']."/";}
	$cate .= $categoria['name']."</div>";
}

?>
<form method="post">
<table border="1">
<tr>
<td colspan="2">
Nome do Produto
<input type="text" size="70" name="nome" value="" />
</td>
<td>
Modelo do Produto
<input type="text" size="70" name="modelo" value="" />
</td>
<td>
Pre&ccedil;o do Produto
<input type="text" name="preco" value="" />
</td>
</tr>
<tr>
<td colspan="2">
Fabricante
<?php echo $fabri; ?>
</td>
<td colspan="2">
Diret&oacute;rio
<?php echo $selectpastas; ?>
</td>
</tr>
<tr>
<td colspan="4">
Imagens
</td>
</tr>
<tr>
<?php 
for($i = 0; $i < 8; $i++) {
	if ($i == 4) {echo "</tr><tr>";}
	echo "<td><input type=\"text\" name=\"imagens[$i]\" /></td>";
}
?>
</tr>
<tr>
<td colspan="4">
Categorias
</td>
</tr>
<tr>
<td colspan="4">
<?php echo $cate; ?>
</td>
</tr>
<tr>
<td colspan="4">
Descri&ccedil;&atilde;o<br>
<textarea name="descricao" rows="20" cols="140"></textarea>
</td>
</tr>
<tr>
<td>
Peso do Produto
<input type="text" name="peso" value="" />
</td>
<td>
Largura do Produto
<input type="text" name="largura" value="" />
</td>
<td>
Altura do Produto
<input type="text" name="altura" value="" />
</td>
<td>
Comprimento do Produto
<input type="text" name="comprimento" value="" />
</td>
</tr>
<tr>
<td colspan="4">
<input type="submit" value="Enviar" />
</td>
</tr>
</table>
</form>

Re: Método facilitado de inserir protudos

Enviado: 09 Dez 2011, 16:54
por Manoel Vidal
Ótima contribuição, parabéns! :D

Re: Método facilitado de inserir protudos

Enviado: 11 Dez 2011, 02:24
por josefilhodemenezes
Tentei aqui e deu o erro
Código: Selecionar todos
 Parse error: syntax error, unexpected T_LNUMBER in /home/vagal471/public_html/cadastro.php on line 4

Re: Método facilitado de inserir protudos

Enviado: 12 Dez 2011, 07:10
por Markus Magnus
Não consegui reproduzir esse erro, mas se você copiou tudo como estava o erro esta na atribuição dos primeiros valores nas variáveis (nome do banco, usuário, etc...), da uma olhada nas aspas ou coisa assim. se você puder colocar o código aqui talvez eu possa ajudar melhor.

O servidor onde o arquivo está hospedado é linux, PHP Version 5.1.6, Apache/2.2.3 (CentOS), Mysql 5.0.77.

Não acredito que seja erro de versão ou coisa do tipo, massss.....

Ah sim uma coisa que esqueci de falar por causa do comando "wget" que o php da no shell da maquina ele só funciona em maquinas linux, a menos que o windows tenha um programa que simule o comando "wget", já vi para baixar, mas nunca usei.

Se alguém teve mais algum problema ou tem alguma sugestão por favor digam.

Obrigado, Abraços a todos.

Re: Método facilitado de inserir protudos

Enviado: 12 Dez 2011, 10:32
por Markus Magnus
Me deparei com outra situação e fiz dois arquivos que talvez sejam interessantes.

A empresa onde trabalho entrou em contato com o fornecedor para acertar os detalhes administrativos e financeiros dessa revenda e surgiu a seguinte questão: E como faremos para atualizarmos as informações de preços e disponibilidade em estoque de cada produto?

O fornecedor tem mais de 500 produtos.

Seria inviável olhar a todos e também complicado para o fornecedor ligar toda vez que houver uma alteração de produtos. Assim se alguém estiver na mesma situação que eu pode utilizar desses dois códigos para se basear e fazer o seu sistema de atualização.

O primeiro é o que necessita de mais alterações. Este arquivo ficará no servidor do fornecedor dando um SELECT no banco do mesmo e organizando as informações em uma array dentro da variável $_SESSION e no final ele acessa o segundo arquivo que fica no servidor que vai receber os dados para verificação.

Se tiver mais que um fornecedor pode colocar uma copia do primeiro arquivo nos servidores de cada fornecedor e colocar na ultima linha ("header('location: ....')") o endereço do próximo fornecedor e apenas o ultimo teria o endereço do seu servidor. Assim pra atualizar você acessa apenas uma página a do primeiro fornecedor da fila.

Essa parte (Que fica no segundo arquivo) serve para vc trabalhar as informações recebidas do(s) fornecedore(s) coloquei a forma como eu utilizo.
Código: Selecionar todos
			$produtoforne['modelo'] = substr(strtolower(str_replace("#", "", str_replace("/", "-", str_replace("\\", "", str_replace('"', '', str_replace("*", "", str_replace("'", "", $produtoforne['modelo']))))))), 0, 63);
			$produtoforne['sku'] = $nomefornecedor.$produtoforne['sku'];
			$produtoforne['quantidade'] = $produtoforne['quantidade'];
			$produtoforne['stock_status_id'] = 7;
			$fabricante = consulta("SELECT * FROM manufacturer WHERE name = '".$produtoforne['fabricante']."'");
			if($fabricante) {
				$fabricante = $fabricante[0]['manufacturer_id'];
			} else {
				$fabricante = 0;
			}
			$produtoforne['fabricante'] = $fabricante;
			$produtoforne['shipping'] = $produtoforne['shipping'];
			$produtoforne['preco'] = $produtoforne['preco'];
			$produtoforne['points'] = 0;
			$produtoforne['tax_class_id'] = 0;
			$produtoforne['peso'] = $produtoforne['peso'];
			$produtoforne['weight_class_id'] = 1;
			$produtoforne['largura'] = $produtoforne['largura'];
			$produtoforne['comprimento'] = $produtoforne['comprimento'];
			$produtoforne['altura'] = $produtoforne['altura'];
			$produtoforne['lenght_class_id'] = 1;
			$produtoforne['subtract'] = 0;
			$produtoforne['minimum'] = 1;
			$produtoforne['sort_order'] = 1;
			$produtoforne['status'] = 0;
			$produtoforne['language'] = 2;
			$produtoforne['descricao'] = $produtoforne['descricao'];
			$produtoforne['pastas'] = $produtoforne['pastas'];
Confesso que ainda não utilizei, pois o nosso fornecedor ainda não me liberou acesso para o seu banco, verifiquei varias vezes o código e não achei erros, mas estou começando agora a trabalhar opencart.
Código: Selecionar todos
<?php
function conectar() {
	$nome_banco = 'banco';
	$senha_banco = 'senha';
	$usuario_banco = 'usuario';
	$local_banco = '127.0.0.1';
	$conexao = mysql_pconnect($local_banco, $usuario_banco, $senha_banco);
}
function consulta($query){
	if(!$conexao){conectar();};
	if(!$conexao){die('<br />Não foi possível conectar: '.mysql_error());};
	$banco = mysql_select_db ($nome_banco, $conexao);
	if(!$banco){die('<br />Não foi possível conectar no banco: '.mysql_error());};
	$resultado = mysql_query($query, $conexao);
	if(!$resultado){die('<br />Não foi possível fazer a consulta: '.mysql_error().'<br />'.$query);};
	if (strpos($query, 'SELECT') !== false) {
		if (mysql_num_rows($resultado)) {
			$i=0;
			while($result = mysql_fetch_assoc($resultado)) {
				foreach ($result as $key=>$valor){$var[$i][$key] = $valor;}
				$i++;
			}
			return $var;
		} else {
			return false;
		}	
	}
	return;
}
$produtos = consulta("SELECT * FROM banco_fornecedor");
$i = 0;
$nomeforne = "fornecedor";
foreach ($produtos as $produto) {
	$_SESSION['fornecedor'][$nomeforne][$i]['sku'] = $produto['id'];
	$_SESSION['fornecedor'][$nomeforne][$i]['modelo'] = $produto['nome'];
	$_SESSION['fornecedor'][$nomeforne][$i]['preco'] = $produto['preco'];
	$_SESSION['fornecedor'][$nomeforne][$i]['descricao'] = $produto['descricao'];
	$_SESSION['fornecedor'][$nomeforne][$i]['fabricante'] = $produto['fabricante'];
	$_SESSION['fornecedor'][$nomeforne][$i]['quantidade'] = $produto['quantidade'];
	$_SESSION['fornecedor'][$nomeforne][$i]['peso'] = $produto['peso'];
	$_SESSION['fornecedor'][$nomeforne][$i]['comprimento'] = $produto['comprimento'];
	$_SESSION['fornecedor'][$nomeforne][$i]['altura'] = $produto['altura'];
	$_SESSION['fornecedor'][$nomeforne][$i]['largura'] = $produto['largura'];
	$_SESSION['fornecedor'][$nomeforne][$i]['pastas'] = $produto['pastas'];
	$produto['images'] = consulta("SELECT * FROM WHERE");
	foreach($produto['images'] as $imagem){
		$_SESSION['fornecedor'][$nomeforne][$i]['images'][] = "http://www.endereco.com.br/$imagem";
	}
	$i++;
}
header('location: endereco/do/meu_servidor.php');
?>
Código: Selecionar todos
<?php
function conectar() {
	$nome_banco = 'banco';
	$senha_banco = 'senha';
	$usuario_banco = 'usuario';
	$local_banco = '127.0.0.1';
	$conexao = mysql_pconnect($local_banco, $usuario_banco, $senha_banco);
}
function consulta($query){
	if(!$conexao){conectar();};
	if(!$conexao){die('<br />Não foi possível conectar: '.mysql_error());};
	$banco = mysql_select_db ($nome_banco, $conexao);
	if(!$banco){die('<br />Não foi possível conectar no banco: '.mysql_error());};
	$resultado = mysql_query($query, $conexao);
	if(!$resultado){die('<br />Não foi possível fazer a consulta: '.mysql_error().'<br />'.$query);};
	if (strpos($query, 'SELECT') !== false) {
		if (mysql_num_rows($resultado)) {
			$i=0;
			while($result = mysql_fetch_assoc($resultado)) {
				foreach ($result as $key=>$valor){$var[$i][$key] = $valor;}
				$i++;
			}
			return $var;
		} else {
			return false;
		}	
	}
	return;
}
if(is_array($_SESSION['fornecedor'])) {
	$fornecedores = $_SESSION['fornecedor'];
	$imagesmy = consulta("SELECT image, product_id FROM product");
	$images2my = consulta("SELECT image, product_id FROM product_image");
	foreach($fornecedores as $nomefornecedor => $fornecedor) {
		foreach($fornecedor as $produtoforne) {
			$produtoforne['modelo'] = substr(strtolower(str_replace("#", "", str_replace("/", "-", str_replace("\\", "", str_replace('"', '', str_replace("*", "", str_replace("'", "", $produtoforne['modelo']))))))), 0, 63);
			$produtoforne['sku'] = $nomefornecedor.$produtoforne['sku'];
			$produtoforne['quantidade'] = $produtoforne['quantidade'];
			$produtoforne['stock_status_id'] = 7;
			$fabricante = consulta("SELECT * FROM manufacturer WHERE name = '".$produtoforne['fabricante']."'");
			if($fabricante) {
				$fabricante = $fabricante[0]['manufacturer_id'];
			} else {
				$fabricante = 0;
			}
			$produtoforne['fabricante'] = $fabricante;
			$produtoforne['shipping'] = $produtoforne['shipping'];
			$produtoforne['preco'] = $produtoforne['preco'];
			$produtoforne['points'] = 0;
			$produtoforne['tax_class_id'] = 0;
			$produtoforne['peso'] = $produtoforne['peso'];
			$produtoforne['weight_class_id'] = 1;
			$produtoforne['largura'] = $produtoforne['largura'];
			$produtoforne['comprimento'] = $produtoforne['comprimento'];
			$produtoforne['altura'] = $produtoforne['altura'];
			$produtoforne['lenght_class_id'] = 1;
			$produtoforne['subtract'] = 0;
			$produtoforne['minimum'] = 1;
			$produtoforne['sort_order'] = 1;
			$produtoforne['status'] = 0;
			$produtoforne['language'] = 2;
			$produtoforne['descricao'] = $produtoforne['descricao'];
			$produtoforne['pastas'] = $produtoforne['pastas'];
			$produto = consulta("SELECT * FROM product WHERE sku = 'aldo".$produtoforne['sku']."'");
			if (!$produto) {
				foreach($produtoforne['images'] as $image){
					if(!$produto) {
						$imageforne = imagecreatefromjpeg($image);
						foreach($imagesmy as $imagemy) {
							if(!$produto) {
								$imagemy2 = imagecreatefromjpeg(getcwd().'image/'.$imagemy['image']);
								if($imagemy2 == $imageforne) {
									$produto = consulta("SELECT * FROM product WHERE product_id = ".$imagemy['product_id']);
								}
							}
						}
						if(!$produto) {
							foreach($images2my as $imagemy) {
								$imagemy2 = imagecreatefromjpeg(getcwd().'image/'.$imageabc['image']);
								if($imagemy2 == $imageforne) {
									$produto = consulta("SELECT * FROM product WHERE product_id = ".$imagemy['product_id']);
								}
							}
						}
					}
				}
			}
			if (!$produto) {
				consulta("INSERT INTO product (model, sku, quantity, stock_status_id, image, manufacturer_id, shipping, price, points, tax_class_id, date_available, weight, weight_class_id, length, width, height, length_class_id, subtract, minimum, sort_order, status, date_added, date_modified, viewed) VALUES ('".$produtoforne['modelo']."', '".$produtoforne['sku']."', '".$produtoforne['quantidade']."', '".$produtoforne['stock_status_id']."', '', '".$produtoforne['fabricante']."', '".$produtoforne['shipping']."', '".$produtoforne['preco']."', '".$produtoforne['points']."', '".$produtoforne['tax_class_id']."', DATE(NOW()), '".$produtoforne['peso']."', '".$produtoforne['weight_class_id']."', '".$produtoforne['largura']."', '".$produtoforne['comprimento']."', '".$produtoforne['altura']."', '".$produtoforne['lenght_class_id']."', '".$produtoforne['subtract']."', '".$produtoforne['minimum']."', '".$produtoforne['sort_order']."', '".$produtoforne['status']."', NOW(), NOW(), 0)");
				$pro = consulta("SELECT `product`.`product_id` FROM `product` WHERE `product`.`model` = '".$produtoforne['modelo']."' && price LIKE '".$produtoforne['preco']."%' LIMIT 1");
				$id = $pro[0]['product_id'];
				consulta("INSERT INTO product_to_store (product_id, store_id) VALUES ($id, 0)");
				consulta("INSERT INTO product_description (product_id, language_id, name, description, meta_description, meta_keyword) VALUES ($id, '".$produtoforne['language']."', '".$produtoforne['modelo']."', '".$produtoforne['descricao']."', '".$produtoforne['modelo']."', '".$produtoforne['modelo']."')");
				$pasta = getcwd()."image/data/".$produtoforne['pastas']."/".$produtoforne['modelo'];
				mkdir($pasta, 0777);
				$img = 0;
				foreach($produtoforne['imagens'] as $imagem) {
					$nome = end(explode("/", $imagem));
					shell_exec("wget -O \"$pasta/$nome\" \"$imagem\" ");
					if ($img == 0) {
						consulta("UPDATE `product` SET image = 'data/".$produtoforne['pastas']."/".$produtoforne['modelo']."/$nome' WHERE product_id = '$id'");
						$img++;
					} else {
						consulta("INSERT INTO product_image (image, product_id) VALUES ('data/".$produtoforne['pastas']."/".$produtoforne['modelo']."/$nome', $id)");
					}
				}
			} else {
				$id = $produto[0]['product_id'];
				$produtoforne['modelo'] = substr(strtolower(str_replace("#", "", str_replace("/", "-", str_replace("\\", "", str_replace('"', '', str_replace("*", "", str_replace("'", "", $produtoforne['modelo']))))))), 0, 63);
				consulta("UPDATE product SET model = '".$produtoforne['modelo']."', quantity = '".$produtoforne['quantidade']."', stock_status_id = '".$produtoforne['stock_status_id']."', price = '".$produtoforne['preco']."', weight = '".$produtoforne['peso']."', length = '".$produtoforne['largura']."', width = '".$produtoforne['comprimento']."', height = '".$produtoforne['altura']."', date_modified = NOW() WHERE product_id = $id");
				consulta("UPDATE product_description SET name = '".$produtoforne['modelo']."', description = '".$produtoforne['descricao']."', meta_description = '".$produtoforne['modelo']."', meta_keyword = '".$produtoforne['modelo']."' WHERE product_id = $id");
				$pasta = getcwd()."image/data/".$produtoforne['pastas']."/".$produtoforne['modelo'];
				$img = 0;
				$verimage = "SELECT * FROM product WHERE  product_id = $id";
				$verimage2 = "SELECT * FROM product_image WHERE  product_id = $id";
				foreach($produtoforne['imagens'] as $imagem) {
					$nome = end(explode("/", $imagem));
					$verimage .= " && image NOT LIKE '%$nome%'";
					$verimage2 .= " && image NOT LIKE '%$nome%'";
				}
				$verimage = consulta($verimage);
				$verimage2 = consulta($verimage);
				if ($verimage) {
					consulta("UPDATE `product` SET image = '' WHERE product_id = '$id'");
					shell_exec('rm "'.getcwd().'image/'.$verimage['image'].'"');
				}
				if (is_array($verimage2)) {
					foreach($verimage2 as $verimage) {
						consulta("DELETE FROM `product_image` WHERE product_image_id = '".$verimage['product_image_id']."'");
						shell_exec('rm "'.getcwd().'image/'.$verimage['image'].'"');
					}
				}
				foreach($produtoforne['imagens'] as $imagem) {
					$nome = end(explode("/", $imagem));
					$imamy = consulta("SELECT image, product_id FROM product WHERE product_id = $id && image LIKE '%$nome%'");
					if(!$imamy) {
						$ima2my = consulta("SELECT image, product_id FROM product_image WHERE product_id = $id && image LIKE '%$nome%'");
						if(!$ima2my) {
							shell_exec("wget -O \"$pasta/$nome\" \"$imagem\" ");
							if ($img == 0) {
								consulta("UPDATE `product` SET image = 'data/".$produtoforne['pastas']."/".$produtoforne['modelo']."/$nome' WHERE product_id = '$id'");
								$img++;
							} else {
								consulta("INSERT INTO product_image (image, product_id) VALUES ('data/".$produtoforne['pastas']."/".$produtoforne['modelo']."/$nome', $id)");
							}
						}
					}
				}
			
			}
		}
	}
}
?>

Re: Método facilitado de inserir protudos

Enviado: 14 Dez 2011, 04:43
por josefilhodemenezes
Markus Magnus escreveu:Me deparei com outra situação e fiz dois arquivos que talvez sejam interessantes.

A empresa onde trabalho entrou em contato com o fornecedor para acertar os detalhes administrativos e financeiros dessa revenda e surgiu a seguinte questão: E como faremos para atualizarmos as informações de preços e disponibilidade em estoque de cada produto....
[/code]
Puxa, parabéns pela contribuição (como diria o Manoel), é de grande utilidade para que trabalha com produtos de revenda, infelizmente é chato o fato de ter que colocar o arquivo no servidor do fornecedor tornando o processo dependente da aceitação do mesmo, mas não deixa de ser uma excelente criação.

Re: [TUTORIAL] Método facilitado de inserir protudos

Enviado: 14 Dez 2011, 12:08
por Manoel Vidal
São ótimas ideias, tenho alguns sistemas que trabalham assim, não em OpenCart mas que fazem este tipo de troca de informação e realmente é um grande diferencial. :D

Re: [TUTORIAL] Método facilitado de inserir protudos

Enviado: 14 Dez 2011, 13:47
por Markus Magnus
Muito obrigado pelas parabenizações.
Fico muito feliz. :D

Espero que alguém possa utiliza-lo pois como josefilhodemenezes disse ficamos a merce da boa vontade do fornecedor e o fornecedor da empresa onde trabalho é um desses cabeças duras que não deixam, provavelmente vamos trabalhar com outro fornecedor dentro em breve e com esse eu posso acessar as paginas internas via url assim carregar as informações do produto em uma variável no php e trabalhar os dados.

Se assim o fizer postarei aqui.

PS.: para quem for utilizar, tome cuidado, como já disse não pude testar o código pode ser que os efeitos no banco de dados de quem recebe rsrs

Abraços a Todos

Re: [TUTORIAL] Método facilitado de inserir protudos

Enviado: 15 Dez 2011, 11:10
por renatojapa
Podia por um demo ai pra gente ver.
MAis vlws belo tuto.

Re: [TUTORIAL] Método facilitado de inserir protudos

Enviado: 18 Fev 2012, 23:03
por Luiz R.
Muito bom.