Wie Abfrage der aktuellen Eigenschaft

Thema wurde von Anonymous, 1. September 2019 erstellt.

  1. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Hallo,

    ich brauche für einen Overload die aktuelle Eigenschaft(Artikelvariante zbs Farbe) die der Kunde momentan ausgewählt hat.
    Wie kann ich die abfragen und in einer $Variante speichern?

    Lg
     
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Keiner eine Idee oder einen Tipp?
     
  3. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Die Frage ist möglicherweise etwas zu allgemein gehalten. Formuliere dein Problem mal etwas ausführlicher aus.
     
  4. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    #4 Anonymous, 4. September 2019
    Zuletzt bearbeitet: 4. September 2019
    tundra-01.jpg

    Ich möchte je nach Artikelvariante die EAN, und das Lager ausgeben.
    Lager werde ich später in einer eigenen Tabelle in der DB speichern.
    Die EAN der Varianten gibt es ja bereits in der "products_properties_combis".
    Momentan kann ich per SQL nur alle Spalten mit der products_id abfragen.
    Ich möchte aber die Abfragen, die der Kunde gerade ausgewählt hat.
    Code:
    $idx= $this->product->data['products_id'];
     
    $varianten_ean = xtc_db_query("SELECT `combi_ean` FROM `products_properties_combis` WHERE `sort_order`='1' AND `products_id` = '".$idx."'");
     
    while ($row = $varianten_ean->fetch_assoc()) {
    
    $this->set_content_data('PRODUCTS_VAR_EAN', $varianten_ean);
    }
    
    Das sort_order muss natürlich weg. Statdessen brauche ich eine products_properties_combis_id
    tundra-02.jpg

    Ob die Variante im Showroom ausgestellt ist soll später auch angezeigt werden. Für die Hauptartikel funktioniert es ja

    Ich habe die Funktion getProductPropertiesCombis($productsId) entdeckt.
    Wenn ich da die aktuelle productsid übergebe, erhalte ich nichts oder ich benutze es falsch
    Code:
     $this->getProductPropertiesCombis($this->product->data['products_id']);
    
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Ich hänge hier schon seit 2 Wochen fest. Keiner eine idee?
     
  6. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    Offenbar nicht. Beauftrage doch einen Dienstleister! Kai Stejuhn, Xycons, alkim Media, info@werbe-markt.de , ...
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Ich möchte es aber selber machen und lernen. Wird deswegen nicht geantwortet, weil man andere beauftragen soll?
    Im Gambioforum scheint es nicht viele aktive user zu geben. Das ist schade
     
  8. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Ich denke eher, dass nicht geantwortet wird, weil das noch keiner gemacht hat, oder weil das so aufwendig ist, dass ein Entwickler, der das vielleicht gemacht hat, nicht so einfach preis geben möchte.

    Es dürften aber auch noch einige im Urlaub sein, so kurz nach den Ferien.
     
  9. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.409
    Danke erhalten:
    709
    Danke vergeben:
    92
    Mit solchen Aussagen macht man sich bestimmt viele Freunde.

    Hier im Forum sind etliche User unterwegs, die immer wieder helfen. Wenn man zu einem Problem mal keine Lösung bekommt, dann kann das viele Ursachen haben und es sollte nicht immer gleich etwas "böses" vermutet werden.

    Ich muss ganz ehrlich gestehen, ich habe mir den Thread hier angeschaut, aber ich weiss immer noch nicht, wo Du überhaupt bist. Du gibst an, dass Du die Funktion getProductPropertiesCombis($productsId) entdeckt hast und gibst eine Zeile Code an mit der Bemerkung

    So von ganz weitem würde ich mal vermuten, dass Du die Funktion nicht verstanden hast, bzw. nicht weißt, wie Du das Ergebnis verarbeiten sollst. Leider ist aus dem Code-Fragment auch nicht zu ersehen, wo und wie Du diese Funktion nutzt bzw. verarbeitest.

    Das zieht sich hier durch den ganzen Thread, Du gibst kaum Informationen raus und erwartest das die anderen Dir helfen. Versuche doch einfach mal Dein Problem und auch Deine bisherigen Lösungsanätze so konkret wie möglich zu schildern. Du kannst nicht erwarten, das hier die anderen Benutzer für Dich die Denkarbeit übernehmen und alles nachfragen, damit sie Dir weiterhelfen können.

    Viele Benutzer dieses Forum sind, genauso wie Du, Anfänger bzw. "Halblaien" die sich Ihr Wissen noch selbst erarbeiten, aber das erarbeitete Wissen gerne weitergeben. Dafür brauchen diese Benutzer aber viele Informationen, auch um zu erkennen, dass sie diese Problem evtl. schon mal gelöst haben.

    Ein weiterer Teil der Benutzer hier sind Entwickler, die ihr Geld damit verdienen und trotzdem hier immer wieder kostenlos Hilfestellung leisten. Viele dieser Entwickler haben aber im Augenblick wahrscheinlich eher die neue Version 3.14 im Auge um ihre Module rechtzeitig fertig zu haben.
     
  10. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    Ich finde dass im Gambio Forum viel geholfen wird und auch viel gratis ( Barbara, Dennis & Co.) , sogar auch von den professionellen Dienstleistern: Tipps und Module von (Link nur für registrierte Nutzer sichtbar.) , sehr preiswerte Module von (Link nur für registrierte Nutzer sichtbar.) , teils sogar gratis Module von (Link nur für registrierte Nutzer sichtbar.) , sehr günstige und gute Sonderanpassungen die schnell umgesetzt werden von (Link nur für registrierte Nutzer sichtbar.) , Tipps und Standardmodule von (Link nur für registrierte Nutzer sichtbar.) , (Link nur für registrierte Nutzer sichtbar.) , (Link nur für registrierte Nutzer sichtbar.) und weitere. Das sind die mit denen ich bisher zu tun hatte und durchweg positive Erfahrungen gesammelt habe.

    Ich finde deine Wünsche aber auch wirklich anspruchsvoll umzusetzen. Ich vermute, das betrifft nicht nur ein wenig PHP sondern auch noch Ajax/JQuery. Da ist bei vielen "Hobby"-Programmierern Schluss. Wenn man trotzdem was selbst zurechtbastelt und es klappt - schön! Aber die Gefahr ist auch auf der anderen Seite immer, dass man sich Sicherheitslücken in den Shop holt oder andere Funktionen kaputt macht mit unsauberer Arbeit. Der Worst Case ist, dass man das nicht einmal direkt bemerkt. Und zur Wirtschaftlichkeit des Selbstmachens ein Denkanstoß aus eigener Erfahrung: Wenn du deine eigene Arbeitszeit mit 40 € pro Stunde bezifferst und 10 Stunden lang bastelst, hast du 400 € ausgegeben für etwas, das dir ein Experte für 100 € sicher umsetzt mit Gewährleistung und Support. Ich finde das einen guten Deal, habe aber auch Verständnis dafür wenn jemand trotzdem gerne bastelt. Nur kann man nicht unbedingt erwarten, dass alle Nichtschwimmer im Stehbereich dir helfen, wenn du weit hinausschwimmst.
     
  11. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Ich wollte niemanden auf den Schlipps treten.
    Ich respektiere die Arbeit aller Programmierer/Entwickler.
    Wenn ich ein kompletes Modul bräuchte, würde ich auch einen beauftragen.
    Ich brauche nur eine PHP/SQL Abfrage. Dafür ist doch der Entwickler bereich hier im Forum gedacht. "Lass es dir Programmieren" finde ich dann unpassend. Ich möchte Kleinigkeiten selber machen. Es macht ja auch Spass.
    Die Antwort steckt ja bereits irgendwo bei Gambio drinn. Wenn der Kunde eine Farbe auswählt, ändert sich ja auch die Artikelnummer und der Bestand. Wenn ich eine Abfrage mache, erhalte ich alle EAN's im Array. Ich möchte aber nur das von der ausgewählten Farbe anzeigen.
     
  12. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.409
    Danke erhalten:
    709
    Danke vergeben:
    92
    Ich glaube Du hast da noch einen Denkfehler. Ich bin jetzt nicht so tief drin in dem Thema, aber ich denke mal Du kannst das nicht mit einer SQL-Abfrage lösen. Zum Zeitpunkt der Auswahl, ist noch nichts in eine DB geschrieben worden, also kannst Du da auch nichts auslesen.
     
  13. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    Vielleicht hast du Recht.
    Vielleicht muss ich alles ausgeben und im Template bereich per Smarty rausfiltern, was der Kunde ausgewählt hat. Irgendwo muss aber die Abfrage funktionieren.
    Hier im Beispiel wird auch kein Java verwendet um die Auswahl abzufragen.
    Weiss denn jemand, wo die Dropdownliste erzeugt wird?
     
  14. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.409
    Danke erhalten:
    709
    Danke vergeben:
    92
    Ich glaube Du brauchst ein Overload für die Auswahl. Wenn man eine Auswahl trifft, dann wird die shop.php angesprochen, das ist die Datei die dann den entsprechenden Controller aufruft. In diesem Fall würde ich mal beim CheckStatusController schauen, das ist aber jetzt mehr oder weniger geraten, da ich nicht so tief drin bin.
     
  15. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    3. März 2018
    Beiträge:
    300
    Danke erhalten:
    17
    Danke vergeben:
    205
    In der shop/system/classes/properties/PropertiesView.inc.php wird der ausgewählte Artikel abgefragt.
    Verstehe ich das falsch?

    Code:
     switch ($t_selection_form_type) {
                case 'dropdowns':
                    // GET PRODUCT
                    $coo_product_object = MainFactory::create_object("GMDataObject",
                        array("products", array("products_id" => $c_products_id)));
                    $t_properties_dropdown_mode = $coo_product_object->get_data_value('properties_dropdown_mode');
                    $t_properties_price_show = $coo_product_object->get_data_value('properties_show_price');
    
                    // GET ALL PROPERTIES DATA
                    $t_properties_array = $this->v_coo_properties_control->get_products_properties_data($c_products_id,
                        $c_language_id);
    
                    if (is_string($p_selected_ids) && trim($p_selected_ids) != '') {
                        $p_selected_ids = $this->v_coo_properties_control->split_properties_values_string($p_selected_ids);
                    }
                    $t_error = '';
                    $t_image = '';
                    $t_selected_combi = false;
                    $t_selected_values = array();
                    if ($p_selected_combi != false) {
                        // GET SELECTED COMBI
                        $t_selected_combi = $p_selected_combi;
                        if (trim($t_selected_combi['combi_image']) != '') {
                            $t_image = '<img class="img-responsive" src="images/product_images/properties_combis_images/' . $t_selected_combi['combi_image'] . '" alt="" />';
                        }
                    }
    
                    if ($t_selected_combi != false) {
                        $t_valid_quantity = $this->v_coo_properties_control->quantity_check($coo_product_object,
                            $t_selected_combi, $c_quantity);
                        $t_error = $t_valid_quantity['message'];
    
                        // GET VALUES FROM SELECTED COMBI
                        foreach ($t_selected_combi['COMBIS_VALUES'] as $t_value) {
                            $t_selected_values[$t_value['properties_id']] = $t_value['properties_values_id'];
                        }
                    } else {
                        if (is_array($p_selected_ids) && count($p_selected_ids) > 0) {
                            $t_selected_combi = $this->v_coo_properties_control->get_selected_combi($c_products_id,
                                $c_language_id, $p_selected_ids);
                            $t_selected_values = $p_selected_ids;
                        }
                    }
    
                    if ($t_properties_dropdown_mode == '' && $t_selected_combi == false && is_array($p_selected_ids) && count($p_selected_ids) == count($t_properties_array)) {
                        $t_error = $this->coo_lang_manager->get_text('COMBI_NOT_EXIST');