bestan Posted November 10, 2010 Report Share Posted November 10, 2010 hallo liebe xt gemeinde, ich habe mal meine produktpallete um 10000 artikel erweitert, und seit einigen tagen werden keine daten mehr an google base übermittelt. das problem liegt offensichtlich daran das die scriptlaufzeit abgelaufen ist bevor der exportmanager fertig ist. meine frage: gibt es eine möglichkeit den export zu splitten? bsp: das der exprtmanager von artikelid 1 bis 3000 exportiert. 3001 - 6000 6001 - 9000 9001 - 1200 dann lege ich einfach 4 exporte an dann ist mein problem gelöst oder kann man vieleicht nach kategorien exprtieren? so sieht mein export aus: header: id|link|titel|description|bild_url|preis|hersteller|marke|abholung|menge|preisart|zahlungshinweise|Gewicht|versand|zahlungsmethode|autor|zustand body: {$data.products_id}|{$data.products_link}|"{$data.products_name}"|"{$data.products_description_clean}"|{$data.products_image_info}|{$data.products_price.plain|string_format:"%.2f"}|{$data.manufacturers_name}|{$data.manufacturers_name}|Nein|{$data.products_quantity|string_format:"%.0f"}|ab|Nach Eingang der Zahlung sofortiger Versand an ihre Adresse|{$data.products_weight}|:::{if $data.products_weight <= 2}6.90{else}{if $data.products_weight <= 10}8.10{else}{if $data.products_weight <= 20}12.90{else}{if $data.products_weight <= 50}30.90{/if}{/if}{/if}{/if}|Visa, MasterCard, Überweisung|firma|neu Link to comment Share on other sites More sharing options...
bestan Posted November 11, 2010 Author Report Share Posted November 11, 2010 gibt es keine möglichkeit? habe mir überlegt das ganze über funktion hersteller zu machen, da ich diese funktion garnicht benutze. dann müsste ich im backend 3-4 hersteller anlegen und mit exel in der csv immer ca. 3000 artikeln eine manufacturers_id zuweisen. dann kann ich im exportmanager mehrere exporte für google base anlegen und die nacheinander exportieren lassen. diesen weg würde ich aber als letzteren nehmen, weil ich mir nicht sicher bin ob ich die funktion hersteller nicht irgentwann brauche!! wäre sehr dankbar wenn jemand einen anderen weg hätte?!! Link to comment Share on other sites More sharing options...
xsnoobx Posted November 15, 2010 Report Share Posted November 15, 2010 Wenn es nur an der Scriptlaufzeit liegt hilft ein ini_set('memory_limit', '-1'); hinter den ganzen define-Einträgen. Hat bei mir geholfen, als es zu lange gedauert hat. Allerdings macht Google Base nur bis 100.000 Artikel mit pro Stream, das zu trennen wird etwas umständlicher. Leider kenn ich mich in PHP nicht aus. Aber kann man nicht einfach irgendwie den String $schema nach $schema .= $products_description."\t". $products['products_id']."\t".... auf die Zeilenzahl prüfen und nach einer gewissen Anzahl von Zeilen trennen und dann einfach einzeln exportieren (also als $fp1,$fp2 sozusagen)? Kann da jemand weiterhelfen? Link to comment Share on other sites More sharing options...
xsnoobx Posted November 15, 2010 Report Share Posted November 15, 2010 Ist zwar recht simpel und sicherlich nicht die beste Lösung. Da google nur Datenfeeds bis 100.000 Artikel annimmt einfach ne simple If-Abfrage. Hätt nich gedacht das es so einfach geht //create content $x++; if ($x <99990){ $schema .= $products_description."\t". $products['products_id']."\t". $productURL . "\t" . number_format($products_price,2,'.','')."\t". $_POST['currencies']."\t". $products_name."\t". "neu\t". $image."\t" . $products['products_ean']."\t". $weight."\t". $products['manufacturers_name']."\t". $_POST['shipping_country'].":::".number_format($versand,2,'.','')."\n";} if ($x >99990){ $schema2 .= $products_description."\t". $products['products_id']."\t". $productURL . "\t" . number_format($products_price,2,'.','')."\t". $_POST['currencies']."\t". $products_name."\t". "neu\t". $image."\t" . $products['products_ean']."\t". $weight."\t". $products['manufacturers_name']."\t". $_POST['shipping_country'].":::".number_format($versand,2,'.','')."\n";} } // create File $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file, "w+"); fputs($fp,$schema); fclose($fp); $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/2' . $file, "w+"); fputs($fp,$schema2); fclose($fp);[/PHP] Link to comment Share on other sites More sharing options...
bestan Posted November 21, 2010 Author Report Share Posted November 21, 2010 erst einmal vielen dank für deine hilfe, hab gedacht da meldet sich keiner mehr mit dem selben problem?!! aber es scheint doch jemanden zu geben. ;-) ok was genau muss ich wo editieren damit das ganze läuft? danke schonmal im voraus.. Link to comment Share on other sites More sharing options...
bestan Posted November 21, 2010 Author Report Share Posted November 21, 2010 Wenn es nur an der Scriptlaufzeit liegt hilft ein hinter den ganzen define-Einträgen. Hat bei mir geholfen, als es zu lange gedauert hat. ich denke ini_set('memory_limit', '-1'); [/HTML] könnte schon helfen da ich "nur" max 15000 artikel habe. wo muss ich das eintragen bzw editieren? Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.