|
||||
|
Hallo
Ich habe hier ein Script das zur Anmeldung bei einer Suchmaschine dient. Leider ist die f?r OSC geschrieben und ich bekomme die Anpassung nicht hin. Normalerweise sollte das Script eine Bildschirmausgabe mit formatiertem Text auswerfen. Hier der Code: Code:
<?php
require_once('includes/configure.php');
require('includes/application_top.php');
// Wichtig: Diese Datei muss im selben Verzeichnis wie die product_info.php liegen, also meist /catalog/.
// Datenbankparamter werden aus den oscommerce-config-files gelesen.
$hostname_oscommerce = DB_SERVER;
$database_oscommerce = DB_DATABASE;
$username_oscommerce = DB_SERVER_USERNAME;
$password_oscommerce = DB_SERVER_PASSWORD;
// Pfadparameter werden aus den oscommerce-config-files gelesen.
$cat=(defined('DIR_WS_HTTP_CATALOG'))?DIR_WS_HTTP_CATALOG:DIR_WS_CATALOG;
$imagepath=HTTP_SERVER.$cat.DIR_WS_IMAGES;
//falls Ihre Datailpage anders lautet, bitte entsprechend anpassen:
$detailpage=HTTP_SERVER.$cat."product_info.php?products_id=";
// Hier bitte Anpassungen vornehmen:
$exclude_status_0=true; // Produkte, die als "nicht vorr?tig" eingestellt sind, nicht mit ausgeben.
$lieferzeit_a="10"; // Lieferzeit in Tagen f?r "nicht vorr?tig"
$lieferzeit_b="2"; // Lieferzeit in Tagen f?r "auf Lager"
$lieferzeit="4"; // Standard-Lieferzeit. Wird genutzt, wenn $exclude_status_0=true;
$versandkostenfrei_ab="50"; // Artikel versandkostenfrei ab ?? 0=immer 999999999=nie
$oscommerce = mysql_pconnect($hostname_oscommerce, $username_oscommerce, $password_oscommerce) or die(mysql_error());
mysql_select_db($database_oscommerce, $oscommerce);
$limit=0;
$limit_step=1000; // Gruppengr??e, in der die Produkte gelesen werden
do{
if ($exclude_status_0){
$query_Recordset1 = "SELECT products.products_id, products.products_model, products.products_image, products.products_price, products.products_tax_class_id, products_description.products_name, products_description.products_description FROM products, products_description WHERE products.products_id=products_description.products_id AND products_description.language_id=2 AND products.products_status > 0 LIMIT $limit, $limit_step";
}else{
$query_Recordset1 = "SELECT products.products_status, products.products_id, products.products_model, products.products_image, products.products_price, products.products_tax_class_id, products_description.products_name, products_description.products_description FROM products, products_description WHERE products.products_id=products_description.products_id AND products_description.language_id=2 LIMIT $limit, $limit_step";
}
$Recordset1 = mysql_query($query_Recordset1, $oscommerce) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$count = mysql_num_rows($Recordset1);
if ($count > 0)
do {
$name=$row_Recordset1['products_name'];
$name=str_replace('|',' ',$name); // | entfernen
$name=strip_tags($name); // HTML entfernen
if ($sonderpr=tep_get_products_special_price($row_Recordset1['products_id'])){
$price=$sonderpr;
}else{
$price=$row_Recordset1['products_price'];
}
$tax=(100+tep_get_tax_rate($row_Recordset1['products_tax_class_id']))/100;
$price=number_format($price*$tax,2,".",""); //Preis formatieren und 16% MwSt. draufrechnen
$description=$row_Recordset1['products_description'];
$description=str_replace("\n"," ",$description); //Zeilenumbruch entfernen
$description=str_replace("\r","",$description); //CR entfernen
$description=strip_tags($description); //HTML entfernen
$description=str_replace('|',' ',$description); // | entfernen
if ($exclude_status_0){
echo $row_Recordset1['products_id']."|".$name."|".((strlen($description) < 130 )?($description." "):(substr($description,0,130)." ... "))."|".$price."|".(($row_Recordset1['products_image'] <> "")?$imagepath.$row_Recordset1['products_image']:" ")."|".$detailpage.$row_Recordset1['products_id']."|".$lieferzeit."|".(($price >= $versandkostenfrei_ab)?"1":"0")."\n";
}else{
echo $row_Recordset1['products_id']."|".$name."|".((strlen($description) < 130 )?($description." "):(substr($description,0,130)." ... "))."|".$price."|".(($row_Recordset1['products_image'] <> "")?$imagepath.$row_Recordset1['products_image']:" ")."|".$detailpage.$row_Recordset1['products_id']."|".(($row_Recordset1['products_status']==0)?$lieferzeit_a:$lieferzeit_b)."|".(($price >= $versandkostenfrei_ab)?"1":"0")."\n";
}
}
while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
mysql_free_result($Recordset1);
$limit+=$limit_step;
flush();
sleep(2);
}while ($count > 0)
?>
Code:
if ($sonderpr=tep_get_products_special_price($row_Recordset1['products_id'])){
http://www.hier-bitte-ihren-shop-eintragen.../shoplister.php m?sste eine korrekt formatierte Textdatei zu sehen sein. Mir ist klar das: "tep_get_products_special_price" nicht richtig ist und ich hab es durch "xtc_get_products_attribute_price" ersetzt, klappt aber auch nicht. Wenn ich Code:
if ($sonderpr=tep_get_products_special_price($row_Recordset1['products_id'])){
$price=$sonderpr;
}else{
$price=$row_Recordset1['products_price'];
}
$tax=(100+tep_get_tax_rate($row_Recordset1['products_tax_class_id']))/100;
$price=number_format($price*$tax,2,".",""); //Preis formatieren und 16% MwSt. draufrechnen
Wer kann mir da mal helfen? Super Dank Gru? Haxley |
|
||||
|
So ich habs hinbekommen.
Das ist die shoplisting.php f?r die Suchmaschine www.preissearch.de Code:
<?php
require_once('includes/configure.php');
require('includes/application_top.php');
// Wichtig: Diese Datei muss im selben Verzeichnis wie die product_info.php liegen, also meist /catalog/.
// Datenbankparamter werden aus den oscommerce-config-files gelesen.
$hostname_oscommerce = DB_SERVER;
$database_oscommerce = DB_DATABASE;
$username_oscommerce = DB_SERVER_USERNAME;
$password_oscommerce = DB_SERVER_PASSWORD;
// Pfadparameter werden aus den oscommerce-config-files gelesen.
$cat=(defined('DIR_WS_HTTP_CATALOG'))?DIR_WS_HTTP_CATALOG:DIR_WS_CATALOG;
$imagepath=HTTP_SERVER.$cat.DIR_WS_IMAGES;
//falls Ihre Datailpage anders lautet, bitte entsprechend anpassen:
$detailpage=HTTP_SERVER.$cat."product_info.php?products_id=";
// Hier bitte Anpassungen vornehmen:
$exclude_status_0=true; // Produkte, die als "nicht vorr?tig" eingestellt sind, nicht mit ausgeben.
$lieferzeit_a="10"; // Lieferzeit in Tagen f?r "nicht vorr?tig"
$lieferzeit_b="2"; // Lieferzeit in Tagen f?r "auf Lager"
$lieferzeit="4"; // Standard-Lieferzeit. Wird genutzt, wenn $exclude_status_0=true;
$versandkostenfrei_ab="50"; // Artikel versandkostenfrei ab ?? 0=immer 999999999=nie
$oscommerce = mysql_pconnect($hostname_oscommerce, $username_oscommerce, $password_oscommerce) or die(mysql_error());
mysql_select_db($database_oscommerce, $oscommerce);
$limit=0;
$limit_step=1000; // Gruppengr??e, in der die Produkte gelesen werden
do{
if ($exclude_status_0){
$query_Recordset1 = "SELECT products.products_id, products.products_model, products.products_image, products.products_price, products.products_tax_class_id, products_description.products_name, products_description.products_description FROM products, products_description WHERE products.products_id=products_description.products_id AND products_description.language_id=2 AND products.products_status > 0 LIMIT $limit, $limit_step";
}else{
$query_Recordset1 = "SELECT products.products_status, products.products_id, products.products_model, products.products_image, products.products_price, products.products_tax_class_id, products_description.products_name, products_description.products_description FROM products, products_description WHERE products.products_id=products_description.products_id AND products_description.language_id=2 LIMIT $limit, $limit_step";
}
$Recordset1 = mysql_query($query_Recordset1, $oscommerce) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$count = mysql_num_rows($Recordset1);
if ($count > 0)
do {
$name=$row_Recordset1['products_name'];
$name=str_replace('|',' ',$name); // | entfernen
$name=strip_tags($name); // HTML entfernen
if ($sonderpr=xtc_get_products_special_price($row_Recordset1['products_id'])){
$price=$sonderpr;
}else{
$price=$row_Recordset1['products_price'];
}
$tax=(100+xtc_get_tax_rate($row_Recordset1['products_tax_class_id']))/100;
$price=number_format($price*$tax,2,".",""); //Preis formatieren und 16% MwSt. draufrechnen
$description=$row_Recordset1['products_description'];
$description=str_replace("\n"," ",$description); //Zeilenumbruch entfernen
$description=str_replace("\r","",$description); //CR entfernen
$description=strip_tags($description); //HTML entfernen
$description=str_replace('|',' ',$description); // | entfernen
if ($exclude_status_0){
echo $row_Recordset1['products_id']."|".$name."|".((strlen($description) < 130 )?($description." "):(substr($description,0,130)." ... "))."|".$price."|".(($row_Recordset1['products_image'] <> "")?$imagepath.$row_Recordset1['products_image']:" ")."|".$detailpage.$row_Recordset1['products_id']."|".$lieferzeit."|".(($price >= $versandkostenfrei_ab)?"1":"0")."\n";
}else{
echo $row_Recordset1['products_id']."|".$name."|".((strlen($description) < 130 )?($description." "):(substr($description,0,130)." ... "))."|".$price."|".(($row_Recordset1['products_image'] <> "")?$imagepath.$row_Recordset1['products_image']:" ")."|".$detailpage.$row_Recordset1['products_id']."|".(($row_Recordset1['products_status']==0)?$lieferzeit_a:$lieferzeit_b)."|".(($price >= $versandkostenfrei_ab)?"1":"0")."\n";
}
}
while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
mysql_free_result($Recordset1);
$limit+=$limit_step;
flush();
sleep(2);
}while ($count > 0)
?>
Dort anmelden und alles eintragen. Der Link ist dann: http://www.hier-bitte-ihren-shop-eintragen.../shoplister.php Dann per ftp: shoplister.php in das Verzeichnis wo auch Ihre produkt_info.php liegt. (also ins Grundverzeichnis) Wenn Sie alles korrekt eingetragen haben, geben Sie nachfolgende URL in Ihren Browser ein: http://www.hier-bitte-ihren-shop-eintragen.../shoplister.php Jetzt m?sste eine korrekt formatierte Textdatei zu sehen sein. Diese holt sich dann die Suchmaschine automatisch. Gru? Haxley |
![]() |
| Lesezeichen |
| Stichworte |
| anpassen, php, suchmaschine |
| Themen-Optionen | |
| Ansicht | |
|
|