Jump to content

Codigo para generar un CSV con referencia y URL para hacer redirecciones


Recommended Posts

Hola, como ya se esta empezando a actualizar y migrar datos desde el prestashop 1.6 a 1.7 y en ocasiones pueden cambiar las url de la tienda, pongo aqui el codigo para generar un csv con el listado de productos Referencia;url para poder hacer un fichero excel con url vieja, url nueva, 302 , para realizar redirecciones de todo el catalogo por completo

El codigo esta preparado para estar en una carpeta dentro de raiz de la tienda

El CSV lo tenéis que hacer vosotros, usando el CSV viejo de PS 1.6 y el CSV 1.7 , organizando por referencia y copiando y pegando, para tener bien los datos para redireccionar las url

<?php


include_once('../config/config.inc.php'); 
include_once('../init.php');

error_reporting(E_ALL);

set_time_limit(210);
$id_lang = Configuration::get('PS_LANG_DEFAULT');

$id_supplier = 26;

$productos = Product::getProducts($id_lang, 0,null, 'name', 'asc', null,$only_active = false);

$urls[] = array(
	'Reference' => '',
	'url' => '',
	
);

$fp = fopen(dirname(__FILE__).'/urls.csv', 'w');        
fputs($fp, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) ));
fputcsv($fp, array_keys($urls[0]), ";");
fclose($fp);
	
foreach($productos as $product){
	$urls = array();
	$id_product = $product['id_product'];
	$link = new Link();
	$url = $link->getProductLink($id_product, null, null, null, null, null, 0, Configuration::get('PS_REWRITING_SETTINGS'), false, true);
	$urls[] = array(
		'Reference' => $product['reference'],
		'url' => $url,
		
	);
	$fp = fopen(dirname(__FILE__).'/urls.csv', 'a');
	foreach ($urls as $fields) {
		fputcsv($fp, $fields, ";");
	}
	fclose($fp);
	
	
}

 

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...