Inzwischen ist das Shopsystem Tomato Cart, ein osCommerce-Fork, für mich gestorben. Es gab einfach zu viele Probleme. Was ich als ein viel besseres Open-Source-Shop-System empfinde, gerade für den deutschen Markt, ist modified eCommerce. Jedenfalls, ich habe zuletzt noch Tomato Cart 2.0 in der Alpha-Version 4 ausprobiert. Die Zweier-Version wird, wenn sie fertig entwickelt ist (eine komplette Neuentwicklung), vermutlich besser als die Einser-Produktlinie funktionieren, aber Alpha 4 nervte mich schon, als die Installation an dem Punkt hängen blieb, wo die Beispieldaten installiert werden sollen. Immerhin fand ich eine Lösung, die ich hier gern noch präsentieren möchte.
Zu bearbeiten ist folgende Datei: /install/applications/controllers/setting.php. Man löscht folgenden Code (ab Programmzeile 97):
//import sample data if ($sample == 'on') { //import sample sql data $this->import_sample_sql(); //copy sample data toc_copy('samples/images', '../images'); //resize images $this->resize_product_images(); }
Und noch diesen Code (ab Programmzeile 141):
/** * Import sample sql data * * @access private * @return boolean */ private function import_sample_sql() { //get database configuration from session $config = $this->session->userdata('db_config'); //connect to database $this->load->database($config); //database is connected if ($this->db) { $sql_data = $this->load->file(realpath(dirname(__FILE__) . '/../../../') . '/install/tomatocart_sample_data.sql', TRUE); $sql_data = str_replace('`toc_', '`' . $config['dbprefix'], $sql_data); //split sql data with ; $statements = preg_split("/;[\r\n]/", $sql_data) ; //execute the sql statement foreach ($statements as $statement) { $this->db->query($statement); } return TRUE; } return FALSE; }
Dann hat man zwar keine Beispieldaten (die ich sowieso überflüssig finde, weil man sie mühsam vor Inbetriebnahme des Shops wieder löschen muss), aber immerhin läuft die Installation auf diese Weise flüssig durch.