Pagina 1 di 1

Script per comparatore prezzi ilpiubasso.it

Inviato: 05/08/2009, 14:45
da ILPIUBASSO
Genitli utilizzatori di OsCommerce, chi è interessato può iscrivere il proprio sito ecommerce su www.ilpiubasso.it sito per la comparazione di prezzi. Il servizio è offerto gratuitamente.

I nostri crawler prelevano quotidianamente il catalogo prodotto dei negozi iscritti attraverso uno script da installare sul vostro server.

Spero di aver fatto cosa gradita.

Allego, per chi fosse interessato, lo script da inserire nel proprio sito ecommerce :

<?php


include('includes/application_top.php');

require(DIR_WS_INCLUDES . 'database_tables.php');

function get_special_price($product_id) {
$special_query = tep_db_query("select specials_new_products_price from " . TABLE_SPECIALS . " where products_id = '" . (int)$product_id . "' and status");
$special = tep_db_fetch_array($special_query);
return $special['specials_new_products_price'];
}



//INSERIRE QUI IL NOME DEL FILE DA GENERARE
$nomefile = '/ilpiubasso.txt';

// INSERIRE QUI IL NOME DEL SITO! IMPORTANTE: SENZA SLASH FINALE!
$site_url = "http://www.miodominio.it";

// INSERIRE QUI L'ID DELLA LINGUA CHE SI VUOLE USARE
$language_id = "4";

$var=fopen(DIR_FS_CATALOG . $nomefile,'w');

$products_query_raw = "select p.products_id, p.products_image, p.products_model, p.manufacturers_id, p.products_price, p.products_quantity, p.products_tax_class_id, pd.products_name, pd.products_description, p2c.categories_id, c.parent_id, c.categories_id, cd.categories_name, m.manufacturers_id, IF(p.manufacturers_id = 0, NULL, m.manufacturers_name) AS marca, IF(s.status, s.specials_new_products_price, NULL) AS specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) AS final_price from " . TABLE_PRODUCTS . " p LEFT JOIN ".TABLE_SPECIALS." s ON p.products_id = s.products_id LEFT JOIN ".TABLE_MANUFACTURERS." m ON p.manufacturers_id = m.manufacturers_id, ".TABLE_PRODUCTS_DESCRIPTION." pd, ".TABLE_PRODUCTS_TO_CATEGORIES." p2c, ".TABLE_CATEGORIES." c, ".TABLE_CATEGORIES_DESCRIPTION." cd where p2c.categories_id = c.categories_id AND c.categories_id = cd.categories_id AND p.products_id = p2c.products_id AND pd.products_id = p2c.products_id AND p.products_status = '1' AND pd.language_id = '$language_id' AND cd.language_id = '$language_id' ORDER BY final_price DESC";

$products_query = tep_db_query($products_query_raw);


while ($products = tep_db_fetch_array($products_query)) {


$descrizionehtml=$products["products_description"];

$descrizionehtml=strip_tags($descrizionehtml);
$descrizionehtml=substr($descrizionehtml,0,255);


// $document contiene un documento HTML.
// In questo esempio la funzione rimuove i tag HTML,
// le sezioni javascript e gli spazi bianchi.
// Inoltre si convertirà le entità HTML nella loro
// rappresentazione testuale.
$search = array ("'<script[^>]*?>.*?</script>'si", // Rimozione del javascript
"'<[\/\!]*?[^<>]*?>'si", // Rimozione dei tag HTML
"'([\r\n])[\s]+'", // Rimozione degli spazi bianchi
"'([\r])+'", // Rimozione degli spazi bianchi
"'([\n])+'", // Rimozione degli spazi bianchi
"'&(quot|#34);'i", // Sostituzione delle entità HTML
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(\d+);'e"); // Valuta come codice PHP

$replace = array ("",
"",
"",
"",
"",
"",
"",
"",
"",
"",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");

$description = preg_replace($search, $replace, $descrizionehtml);

$prezzo=$products['products_price'];
if ($newprice = get_special_price($products['products_id'])) {
$prezzo=$products['specials_new_products_price'];
}

$calcolo_tasse_query = tep_db_query("select tax_rate from " . TABLE_TAX_RATES . " where tax_class_id = '".(int)$products["products_tax_class_id"]."'");
$calcolo_tasse = tep_db_fetch_array($calcolo_tasse_query);
$valore_tassa = ($prezzo/100)* ($calcolo_tasse['tax_rate']);
$prezzo= $prezzo + $valore_tassa;
if ($products['products_quantity'] > 0){
$disponibile= 'disponibile';
} else {
$disponibile= 'non disponibile';
}
$cat_arr = CatString($products['categories_id']);
$cat_arr = array_reverse($cat_arr);
$cat_list = implode(";",$cat_arr);

$categoria=$products["categories_name"];
If ($categoria!="Omaggi"){ // Qui è possibile inserire una categoria da non esportare!


$filestring=$products['products_id'].'|' . $products['products_name']. '|' . $site_url.'/images/'. $products['products_image']. '|' . $site_url.'/product_info.php?products_id='.$products['products_id']. '|' . $cat_list . '|' . $prezzo . '|' . $description . '|' . $products['manufacturers_name'] . '|'. $disponibile . '|-1'. '|' . $products['products_model'] . '<endrecord>'. "\r\n";

fwrite($var, $filestring);
echo $filestring;

}

}

fclose($var);

function CatString($cat) {
$list = array();
do{
$catsql = "SELECT c.categories_id, c.parent_id, cd.categories_name FROM ".TABLE_CATEGORIES." c, ".TABLE_CATEGORIES_DESCRIPTION." cd WHERE c.categories_id = cd.categories_id AND c.categories_id = $cat";
if($res = tep_db_query($catsql)){
//mysql_close();
$row = mysql_fetch_row($res);
$cat = $row[1];
$parent = $row[1];
array_push($list,$row[2]);
}
}while($parent != 0);
return $list;
}


?>

Re: Script per comparatore prezzi ilpiubasso.it

Inviato: 05/08/2009, 15:23
da 3dstudiomax
Grazie, ottima segnalazione :D

Re: Script per comparatore prezzi ilpiubasso.it

Inviato: 25/09/2017, 15:27
da hengkhmer
I liked the arrows for their help in organizing your notes. :P







โคนัน