FrankS Posted June 3, 2009 Report Share Posted June 3, 2009 Hallo zusammen, da ich nichts darüber im Forum gefunden habe frage ich euch an dieser Stelle direkt. Ich habe am 02.06.09 von Google eine Email bekommen, in der mir mitgeteilt wird, dass ein neues erforderliches Attribut eingeführt wird. Hier steht mehr darüber bei Google. Das neue Attribut heißt "Zustand" und kann die Werte haben: neu, gebraucht oder erneuert. "Erforderlich" bedeutet bestimmt, das nach dem 30.06.09 unsere Froogle-Export-Scripte mal wieder nicht mehr funktionieren. Für alle diejenigen, die nur neue Artikel im Shop verkaufen sollte eine kleine Änderung im Exportscript reichen, wo das Attribut für alle Artikel als "neu" hinzugefügt wird. Aber was ist mit Shops die auch gebrauchte Artikel hat, wie zB. bei Auto Ersatzteilen eine regenerierte Lichtmaschine? Am Besten wäre dann ein neues zusätzliches Feld zum Artikel, wo man den Zustand hinterlegen und beim Export abfragen kann. Das klingt mir nach einem tieferen Eingriff in die Shopsoftware. Habt ihr vielleicht eine Idee dazu? VG Frank Link to comment Share on other sites More sharing options...
development Posted June 3, 2009 Report Share Posted June 3, 2009 http://www.xt-commerce.com/forum/showthread.php?p=331685#post331685 War recht komplex aber funzt supi Link to comment Share on other sites More sharing options...
ameritek Posted June 4, 2009 Report Share Posted June 4, 2009 Gits dazu ein Modul das jemand zur Verfügung stellen kann? Bin leider selbst nicht in der Lage irgendwelche Änderungen an der Datenbank oder sonst wo durchzuführen. Leider. Danke Link to comment Share on other sites More sharing options...
hauwk Posted June 8, 2009 Report Share Posted June 8, 2009 Gits dazu ein Modul das jemand zur Verfügung stellen kann? Würde mich auch sehr dafür interessieren. Weiß jmd. eine Lösung? Link to comment Share on other sites More sharing options...
development Posted June 8, 2009 Report Share Posted June 8, 2009 Würde mich auch sehr dafür interessieren. Weiß jmd. eine Lösung? Die Lösung ist etwas komplexer, da die Datenbank angepasst werden muss. Haben dies aber sauber über ein Dropdown Feld in der new_product.php gelöst. ] Link to comment Share on other sites More sharing options...
mahrko86 Posted June 8, 2009 Report Share Posted June 8, 2009 Habe bei mir im Shop nur neue Artikel. Würde gern nur die froogle.php anpassen, dass dieses Feld einfach am Ende angehängt wird. Außerdem habe ich bei mir das Problem, dass ß immer als ß und ä als &uaml; dargestellt wird. Aber nicht alle, manche werden auch als ä gelassen. Ich muss dann immer vor dem Hochladen die Datei über "suchen&ersetzen" anpassen. Mach dann halt immer ae, ue, oe und ss. Link to comment Share on other sites More sharing options...
Vio Posted June 9, 2009 Report Share Posted June 9, 2009 Hallo, nutzt doch einfach mal die Suche bei Google. Da werdet Ihr bestimmt fündig. Grüße Vio Link to comment Share on other sites More sharing options...
Ranger Posted July 1, 2009 Report Share Posted July 1, 2009 Habe bei mir im Shop nur neue Artikel. Würde gern nur die froogle.php anpassen, dass dieses Feld einfach am Ende angehängt wird. Außerdem habe ich bei mir das Problem, dass ß immer als ß und ä als &uaml; dargestellt wird. Aber nicht alle, manche werden auch als ä gelassen. Ich muss dann immer vor dem Hochladen die Datei über "suchen&ersetzen" anpassen. Mach dann halt immer ae, ue, oe und ss. Habe das gleiche Problem und würde mich über Hilfe sehr freuen. Link to comment Share on other sites More sharing options...
thust Posted July 10, 2009 Report Share Posted July 10, 2009 eine zeile in der froogle.php auskommentieren, dann sollte es gehen // remove trash $products_description = str_replace("<br>"," ",$products_description); $products_description = str_replace("<br />"," ",$products_description); $products_description = strip_tags($products['products_description']); //$products_description = str_replace(";",", ",$products_description); $products_description = str_replace("'",", ",$products_description); $products_description = str_replace("\n"," ",$products_description); $products_description = str_replace("\r"," ",$products_description); $products_description = str_replace("\t"," ",$products_description); $products_description = str_replace("\v"," ",$products_description); $products_description = str_replace("","," \"",$products_description); $products_description = str_replace("&qout,"," \"",$products_description); $products_description = str_replace(chr(13)," ",$products_description); $products_description = substr($products_description, 0, 65536); $cat = $this->buildCAT($categories); Link to comment Share on other sites More sharing options...
BTC-Service Posted July 10, 2009 Report Share Posted July 10, 2009 Ich hab da jetzt eine blöde Frage... Welche Zeile kommentiere ich wie aus? (Der Artikelzustand soll generell "NEU" sein) Danke für die Hilfe!!! Link to comment Share on other sites More sharing options...
BTC-Service Posted July 10, 2009 Report Share Posted July 10, 2009 Ach ja, nochwas: @Ranger: Das Problem hatte ich auch mit den Umlauten. Ändere die englischen Bezeichnungen in der froogle.php (Zeile beginnt mit $schema) in die deutschen, also z.B. "description" in "Beschreibung" (die genauen Bezeichnungen, die Google will, findest Du in der Google-Hilfe). Wenn Du das gemacht hast, müsste Google die Datei als deutschsprachig identifizieren, bei mir hats zumindest geklappt. Link to comment Share on other sites More sharing options...
thust Posted July 12, 2009 Report Share Posted July 12, 2009 Ich hab da jetzt eine blöde Frage... Welche Zeile kommentiere ich wie aus? (Der Artikelzustand soll generell "NEU" sein) Danke für die Hilfe!!! Mein Hinweis bezog sich nur auf die falsch dargestellten ß, ä, ü.... Link to comment Share on other sites More sharing options...
Agamemnon Posted July 12, 2009 Report Share Posted July 12, 2009 Hallo, @BTC-Service Ich hab da jetzt eine blöde Frage... Welche Zeile kommentiere ich wie aus? (Der Artikelzustand soll generell "NEU" sein) Danke für die Hilfe!!! Hier gibt es eine kurze Hilfe für den Artikelzustand "neu". ***[url="http://www.xtc-modified.org/forum/topic.php?id=1030"] Gruß Axel Link to comment Share on other sites More sharing options...
emage Posted July 13, 2009 Report Share Posted July 13, 2009 Moin, ich habe das mit dem Zustand quick & dirty gelöst indem ich einfach eine neue Spalte Zustand angelegt habe, die grundsätzlich immer mit neu gefüllt wird. Macht natürlich nur sinn wenn man nur neue Sachen verkauft.... Hier meine froogle.php <?php /* ----------------------------------------------------------------------------------------- $Id: froogle.php 1188 2005-08-28 14:24:34Z matthias $ XT-Commerce - community made shopping xt:Commerce Shopsoftware VEYTON 4.0 Copyright © 2003 XT-Commerce ----------------------------------------------------------------------------------------- based on: © 2000-2001 The Exchange Project (earlier name of osCommerce) © 2002-2003 osCommerce(cod.php,v 1.28 2003/02/14); osCommerce, Open Source Online Shop E-Commerce Solutions © 2003 nextcommerce (invoice.php,v 1.6 2003/08/24); nextcommerce.org Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ defined( '_VALID_XTC' ) or die( 'Direct Access to this location is not allowed.' ); define('MODULE_FROOGLE_TEXT_DESCRIPTION', 'Export - Froogle.de (Tab getrennt)'); define('MODULE_FROOGLE_TEXT_TITLE', 'Froogle.de - TXT'); define('MODULE_FROOGLE_FILE_TITLE' , '<hr noshade>Dateiname'); define('MODULE_FROOGLE_FILE_DESC' , 'Geben Sie einen Dateinamen ein, falls die Exportadatei am Server gespeichert werden soll.<br>(Verzeichnis export/)'); define('MODULE_FROOGLE_STATUS_DESC','Modulstatus') ; define('MODULE_FROOGLE_STATUS_TITLE','Status'); define('MODULE_FROOGLE_CURRENCY_TITLE','Währu ng'); define('MODULE_FROOGLE_CURRENCY_DESC','Welche Währung soll exportiert werden?'); define('EXPORT_YES','Nur Herunterladen'); define('EXPORT_NO','Am Server Speichern'); define('CURRENCY','<hr noshade><b>Währung:</b>'); define('CURRENCY_DESC','Währung in der Exportdatei'); define('EXPORT','Bitte den Sicherungsprozess AUF KEINEN FALL unterbrechen. Dieser kann einige Minuten in Anspruch nehmen.'); define('EXPORT_TYPE','<hr noshade><b>Speicherart:</b>'); define('EXPORT_STATUS_TYPE','<hr noshade><b>Kundengruppe:</b>'); define('EXPORT_STATUS','Bitte wählen Sie die Kundengruppe, die Basis für den Exportierten Preis bildet. (Falls Sie keine Kundengruppenpreise haben, wählen Sie <i>Gast</i>):</b>'); define('CAMPAIGNS','<hr noshade><b>Kampagnen:</b>'); define('CAMPAIGNS_DESC','Mit Kampagne zur Nachverfolgung verbinden.'); define('DATE_FORMAT_EXPORT', '%d.%m.%Y'); // this is used for strftime() // include needed functions class froogle { var $code, $title, $description, $enabled; function froogle() { global $order; $this->code = 'froogle'; $this->title = MODULE_FROOGLE_TEXT_TITLE; $this->description = MODULE_FROOGLE_TEXT_DESCRIPTION; $this->sort_order = MODULE_FROOGLE_SORT_ORDER; $this->enabled = ((MODULE_FROOGLE_STATUS == 'True') ? true : false); $this->CAT=array(); $this->PARENT=array(); } function process($file) { @xtc_set_time_limit(0); require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'xtcPrice.php'); $xtPrice = new xtcPrice($_POST['currencies'],$_POST['status']); //KORREKTUR ZUSTAND $schema = 'link'."\t".'id'."\t".'titel'."\t".'beschreibung'. "\t".'bild_url'."\t".'preis'."\t".'zustand'."\t".'marke'."\n" ; $export_query =xtc_db_query("SELECT p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_image, p.products_price, p.products_status, p.products_date_available, p.products_shippingtime, p.products_discount_allowed, pd.products_meta_keywords, p.products_tax_class_id, p.products_date_added, m.manufacturers_name FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_MANUFACTURERS . " m ON p.manufacturers_id = m.manufacturers_id LEFT JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd ON p.products_id = pd.products_id AND pd.language_id = '".$_SESSION['languages_id']."' LEFT JOIN " . TABLE_SPECIALS . " s ON p.products_id = s.products_id WHERE p.products_status = 1 ORDER BY p.products_date_added DESC, pd.products_name"); while ($products = xtc_db_fetch_array($export_query)) { $products_price = $xtPrice->xtcGetPrice($products['products_id'], $format=false, 1, $products['products_tax_class_id'], ''); // get product categorie $categorie_query=xtc_db_query("SELECT categories_id FROM ".TABLE_PRODUCTS_TO_CATEGORIES." WHERE products_id='".$products['products_id']."'"); while ($categorie_data=xtc_db_fetch_array ($categorie_query)) { $categories=$categorie_data['categories_id']; } // remove trash $products_description = str_replace("<br>"," ",$products_description); $products_description = str_replace("<br />"," ",$products_description); $products_description = strip_tags($products['products_description']); // $products_description = str_replace(";","",$products_description); // anfang änderung wegen Umlautproblem $products_description = str_replace("Ä","Ä",$products_description); $products_description = str_replace("ä","ä",$products_description); $products_description = str_replace("Ö","Ö",$products_description); $products_description = str_replace("ö","ö",$products_description); $products_description = str_replace("Ü","Ü",$products_description); $products_description = str_replace("ü","ü",$products_description); $products_description = str_replace("ß","ß",$products_description); $products_description = str_replace ("&", "&", $products_description); $products_description = str_replace ("§", "§", $products_description); $products_description = str_replace("°","°",$products_description); $products_description = str_replace ("²", "²", $products_description); $products_description = str_replace ("³", "³", $products_description); $products_description = str_replace("®","®",$products_description); $products_description = str_replace ("±", "±", $products_description); $products_description = str_replace ("µ", "µ", $products_description); // ende anderung wegen Umlautproblem $products_description = str_replace("'",", ",$products_description); $products_description = str_replace("\n"," ",$products_description); $products_description = str_replace("\r"," ",$products_description); $products_description = str_replace("\t"," ",$products_description); $products_description = str_replace("\v"," ",$products_description); $products_description = str_replace("","," \"",$products_description); $products_description = str_replace("&qout,"," \"",$products_description); $products_description = str_replace(chr(13)," ",$products_description); $products_description = substr($products_description, 0, 65536); $cat = $this->buildCAT($categories); if ($products['products_image'] != ''){ $image = HTTP_CATALOG_SERVER . DIR_WS_CATALOG_ORIGINAL_IMAGES .$products['products_image']; }else{ $image = ''; } //create content //KORREKTUR ZUSTAND $zustand = 'neu'; $schema .= HTTP_CATALOG_SERVER . DIR_WS_CATALOG . 'product_info.php?'.$_POST['campaign'].xtc_product_link($products['products_id'], $products['products_name']) . "\t" . $products['products_id'] ."\t". $products['products_name'] ."\t". $products_description ."\t". $image ."\t" . number_format($products_price,2,'.',''). "\t" . //KORREKTUR ZUSTAND $zustand . "\t" . $products['manufacturers_name'] ."\n"; } // create File $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file, "w+"); fputs($fp, $schema); fclose($fp); switch ($_POST['export']) { case 'yes': // send File to Browser $extension = substr($file, -3); $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file,"rb"); $buffer = fread($fp, filesize(DIR_FS_DOCUMENT_ROOT.'export/' . $file)); fclose($fp); header('Content-type: application/x-octet-stream'); header('Content-disposition: attachment; filename=' . $file); echo $buffer; exit; break; } } function buildCAT($catID) { if (isset($this->CAT[$catID])) { return $this->CAT[$catID]; } else { $cat=array(); $tmpID=$catID; while ($this->getParent($catID)!=0 || $catID!=0) { $cat_select=xtc_db_query("SELECT categories_name FROM ".TABLE_CATEGORIES_DESCRIPTION." WHERE categories_id='".$catID."' and language_id='".$_SESSION['languages_id']."'"); $cat_data=xtc_db_fetch_array($cat_select); $catID=$this->getParent($catID); $cat[]=$cat_data['categories_name']; } $catStr=''; for ($i=count($cat);$i>0;$i--) { $catStr.=$cat[$i-1].' > '; } $this->CAT[$tmpID]=$catStr; return $this->CAT[$tmpID]; } } function getParent($catID) { if (isset($this->PARENT[$catID])) { return $this->PARENT[$catID]; } else { $parent_query=xtc_db_query("SELECT parent_id FROM ".TABLE_CATEGORIES." WHERE categories_id='".$catID."'"); $parent_data=xtc_db_fetch_array($parent_query); $this->PARENT[$catID]=$parent_data['parent_id']; return $parent_data['parent_id']; } } function display() { $customers_statuses_array = xtc_get_customers_statuses(); // build Currency Select $curr=''; $currencies=xtc_db_query("SELECT code FROM ".TABLE_CURRENCIES); while ($currencies_data=xtc_db_fetch_array($currencies)) { $curr.=xtc_draw_radio_field('currencies', $currencies_data['code'],true).$currencies_data['code'].'<br>'; } $campaign_array = array(array('id' => '', 'text' => TEXT_NONE)); $campaign_query = xtc_db_query("select campaigns_name, campaigns_refID from ".TABLE_CAMPAIGNS." order by campaigns_id"); while ($campaign = xtc_db_fetch_array($campaign_query)) { $campaign_array[] = array ('id' => 'refID='.$campaign['campaigns_refID'].'&', 'text' => $campaign['campaigns_name'],); } return array('text' => EXPORT_STATUS_TYPE.'<br>'. EXPORT_STATUS.'<br>'. xtc_draw_pull_down_menu('status',$customers_statuses_array, '1').'<br>'. CURRENCY.'<br>'. CURRENCY_DESC.'<br>'. $curr. CAMPAIGNS.'<br>'. CAMPAIGNS_DESC.'<br>'. xtc_draw_pull_down_menu('campaign',$campaign_array ).'<br>'. EXPORT_TYPE.'<br>'. EXPORT.'<br>'. xtc_draw_radio_field('export', 'no',false).EXPORT_NO.'<br>'. xtc_draw_radio_field('export', 'yes',true).EXPORT_YES.'<br>'. '<br>' . xtc_button(BUTTON_EXPORT) . xtc_button_link(BUTTON_CANCEL, xtc_href_link(FILENAME_MODULE_EXPORT, 'set=' . $_GET['set'] . '&module=froogle'))); } function check() { if (!isset($this->_check)) { $check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_FROOGLE_STATUS'"); $this->_check = xtc_db_num_rows($check_query); } return $this->_check; } function install() { xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_FROOGLE_FILE', 'froogle.txt', '6', '1', '', now())"); xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_FROOGLE_STATUS', 'True', '6', '1', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())"); } function remove() { xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_FROOGLE_STATUS','MODULE_FROOGLE_FILE '); } } ?> Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.