EnzephaloN Posted November 1, 2007 Report Share Posted November 1, 2007 Hallo Da unsere WaWi (noch) nicht mit Artikelattributen umgehen kann habe ich mir überlegt, daß man da was frickeln könnte. So habe ich vor jedem Artikel ein weiteres Feld (parallel zu Anzahl) zu geben, wo die Kunden ein Attribut eintragen können. Dieses soll dann beim klicken auf "In den Warenkorb" der Artikelbezeichnung angefügt werden. Hat jemand ne Ahnung wie ich das bauen kann, bzw hat jemand sowas schonmal gebaut?? Danke EnzephaloN Link to comment Share on other sites More sharing options...
Numerobis Posted November 1, 2007 Report Share Posted November 1, 2007 Mach Dir das Leben doch nicht so schwer. Schau Dir mal die WaWi an. Arbeitet wunderbar mit XT zusammen und kostet nix. Gruß Numerobis Link to comment Share on other sites More sharing options...
EnzephaloN Posted November 1, 2007 Author Report Share Posted November 1, 2007 Danke für den Tip, aber es gibt schon Gründe warum wir unser WaWi einsetzen und auch dabei bleiben werden. Hat ja schließlich auch ein wenig gekostet und die Einarbeitungszeit der Mitarbeiter ist auch nicht zu unterschätzen. So besteht mein Problem und mein Lösungsversuch weiterhin. EnzephaloN Link to comment Share on other sites More sharing options...
EnzephaloN Posted November 2, 2007 Author Report Share Posted November 2, 2007 Erster Ansatz: // check if customer is allowed to add to cart if ($_SESSION['customers_status']['customers_status_show_price'] != '0') { // fsk18 if ($_SESSION['customers_status']['customers_fsk18'] == '1') { if ($product->data['products_fsk18'] == '0') { $info_smarty->assign('ADD_QTY', xtc_draw_input_field('products_qty', '1', 'size="3"').' '.xtc_draw_hidden_field('products_id', $product->data['products_id'])); $info_smarty->assign('ADD_CART_BUTTON', xtc_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART)); //eingefügt Shirtgrößenfeld //$info_smarty->assign('ADD_ATTRIBUTE',xtc_draw_input_field('products_attr', '1', 'size="3"').' '.xtc_draw_hidden_field('products_id', $product->data['products_id'])); } } else { $info_smarty->assign('ADD_QTY', xtc_draw_input_field('products_qty', '1', 'size="3"').' '.xtc_draw_hidden_field('products_id', $product->data['products_id'])); $info_smarty->assign('ADD_CART_BUTTON', xtc_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART)); //eingefügt Shirtgrößenfeld //$info_smarty->assign('ADD_ATTRIBUTE',xtc_draw_input_field('products_attr', '1', 'size="3"').' '.xtc_draw_hidden_field('products_id', $product->data['products_id'])); } } [/php] allerdings weiß ich nicht so recht, was hier eigentlich zugewiesen wird. Ich will ja nix überschreiben, sondern das Eingetragene nur der Bezeichnung anfügen. Kann mir da mal jemand die Zeile [php] $info_smarty->assign('ADD_ATTRIBUTE',xtc_draw_input_field('products_attr', '1', 'size="3"').' '.xtc_draw_hidden_field('products_id', $product->data['products_id'])); anpassen? Wie und wo muß ich nun fortfahren? EnzephaloN Link to comment Share on other sites More sharing options...
EnzephaloN Posted November 2, 2007 Author Report Share Posted November 2, 2007 Anderer Weg über /includes/modules/product_attributes.php: else{ $row = 0; $col = 0; $product_dieses= $product->data['products_id']; $products_in_cat = xtDBquery("select * from ".TABLE_PRODUCTS_TO_CATEGORIES." p2c where p2c.products_id = $product_dieses and p2c.categories_id = '13'"); $pro_in_cat = xtc_db_fetch_array($products_in_cat, true); if ($pro_in_cat!=''){ $products_options_array = array (); $products_options_data[$row] = array('NAME' => 'Groesse', 'ID' => '$product_dieses', 'DATA' => ''); for($i=1;$i++;$i==7){ switch($i){ case 1: $text='XS'; break; case 2: $text='S'; break; case 3: $text='M'; break; case 4: $text='L'; break; case 5: $text='XL'; break; case 6: $text='XXL'; break; case 7: $text='Sondergröße'; break; } $products_options_data[$row]['DATA'][$col] = array('ID' => $i , 'TEXT' => $text , 'MODEL' => $text); $col ++; } } }[/php] Fehlermeldung: Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 40 bytes) in /mnt/web1/43/81/5700081/htdocs/war-anthem/eshop/includes/modules/product_attributes.php on line 107 Link to comment Share on other sites More sharing options...
Numerobis Posted November 2, 2007 Report Share Posted November 2, 2007 Ich verstehe immer noch nicht, was Dein Problem ist... Hast Du denn ne Schnittstelle zur WaWi? Was sagt die denn, wenn sie einen veränderten Artikelnamen bekommt? Link to comment Share on other sites More sharing options...
EnzephaloN Posted November 3, 2007 Author Report Share Posted November 3, 2007 Hallo Ja, es gibt da eine Schnittstelle zur WaWi. Der Abgleich erfolgt über die Artikelnummer(n). Ob der Name ein anderer ist, ist egal. Allerdings denke ich, daß durch den Weg über eine veränderte products_attributes.php das Attributs-Anhängsel dann sogar völlig korrekt übermittelt wird. Das Problem besteht kurz gesagt darin, daß wir einen riesigen Warenbestand haben, die WaWi keine Attribute anlegen, aber auslesen kann und das Anlegen von Attributen zu Artikeln im xtC überaus zeitaufwendig und unpraktikabel ist. Solange die Entwickler der WaWi nun noch brauchen um ihrem Programm Attribute beizubringen, möchte ich unseren Kunden trotzdem diesen Service bieten. Kann nun jemand etwas zu meinem Scriptcode sagen, bitte? EnzephaloN Link to comment Share on other sites More sharing options...
EnzephaloN Posted November 5, 2007 Author Report Share Posted November 5, 2007 Ok, die /includes/modules/products_attributes.php durch folgendes ersetzt: else{ $col = 0; $row = 0; $product_dieses = $product->data['products_id']; $products_in_cat = xtDBquery("select categories_id from ".TABLE_PRODUCTS_TO_CATEGORIES." where products_id = $product_dieses"); if(($products_in_cat['categories_id']==13)||($products_in_cat['categories_id']==0)){ $products_options_data = array (); $products_options_data[$row] = array('NAME' => 'Größe', 'ID' => '1', 'DATA' => ''); $products_options_data[$row]['DATA'][$col] = array('ID' => '9' , 'TEXT' => 'XS', 'MODEL' => 'XS');$col++; $products_options_data[$row]['DATA'][$col] = array('ID' => '7' , 'TEXT' => 'S' , 'MODEL' => 'S');$col++; $products_options_data[$row]['DATA'][$col] = array('ID' => '1' , 'TEXT' => 'M' , 'MODEL' => 'M');$col++; $products_options_data[$row]['DATA'][$col] = array('ID' => '2' , 'TEXT' => 'L' , 'MODEL' => 'L');$col++; $products_options_data[$row]['DATA'][$col] = array('ID' => '3' , 'TEXT' => 'XL' , 'MODEL' => 'XL');$col++; $products_options_data[$row]['DATA'][$col] = array('ID' => '8' , 'TEXT' => 'XXL' , 'MODEL' => 'XXL');$col++; $products_options_data[$row]['DATA'][$col] = array('ID' => '10' , 'TEXT' => 'Sondergroesse', 'MODEL' => 'Sondergroesse'); } } [/php] Was zur Folge hat, daß ALLE Artikel plötzlich das Feld mit Attributen angezeigt bekommen. Obwohl eigentlich nur Artikel der Kategorien 0 und 13 dies besitzen sollten. Weiterhin wird aber leider im Warenkorb, in der Bestellung und in der Email die ausgewählte Option nicht angezeigt. Übergeben wird zwar etwas, aber kein Wert... Vielleicht jemand der mitspielen will? EnzephaloN Link to comment Share on other sites More sharing options...
Numerobis Posted November 5, 2007 Report Share Posted November 5, 2007 Ich habe mir vor kurzem eine Lagerbestands- / Lieferzeitautomatik programmiert. Soweit ich mich erinnere, habe ich mindestens vier Dateien angreifen müssen, damit mir das System aus den Lagerbeständen der Attribute und des Hauptartikels (Es handelt sich um Kombinationsartikel) eine Lieferzeit errechnet und das dann in den Warenkorb und letztendlich auch in die Bestellungen übernimmt. Da sind diverse Tabellen, Sessions und wasweißichsonstnoch beteiligt. Ich denke, daß XTC hier vielleicht das falsche System für Dich ist. Du wirst kaum Helfer finden wenn es darum geht, einen alten Käfer-Motor in einen neuen Porsche zu verpflanzen. Etwas ähnliches tust Du. Soweit ich mich erinnere gibt es einen Shop für ein Portal, das einmal wie ein kubanischer Tanz hieß, der Attribute über Eltern-/Kind- Artikel löst. Vllt. wäre das was. Alternativ würde ich die Attribute eben manuell erfassen. Die geben auch ne Artikelnummer her. Du mußt der Schnittstelle zur Wawi nur beibringen, bei Bestellungen die Artikelnummer des Attributes zu übernehmen. Das dürfte letztlich wesentlich einfacher sein, als den kompletten Shop umzuprogrammieren. Link to comment Share on other sites More sharing options...
EnzephaloN Posted November 6, 2007 Author Report Share Posted November 6, 2007 Ich habe so langsam auch die Nase voll. Zwar habe ich geschafft, daß bei meinen gewünschten Artikeln die Attribute angezeigt werden und sogar im Warenkorb das Ganze angezeigt wird. Aber im weiteren Bestellungsprozess gehen die Daten wieder verloren, da natürlich dann andere Tabellen abgefragt werden, die irgendwo befüllt werden. Das andere Shopsystem könnt ich mir mal ansehen. Die WaWi kann in Bestellungen die Attribute übernehmen. Jetzt jedem Artikel manuell Attribute zuzuweisen ist bei dem Artikelbestand, dem ständigen Wechseln von Artikeln und dem absolut unpraktischen System des XTC nicht machbar... EnzephaloN Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.