Shop Hosting
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Attribute editieren erweitern

    Lewdness

    • Neu im Forum
    • Beiträge: 14
    Attribute editieren erweitern
    am: 01. Dezember 2010, 16:00:19
    Hi Folgendes Problem eigentlich möchte ich unter Attribute Editieren in der Tabelle zusätzliche Spalten anlegen, um bei einer Auswahl des Attributes zusätzliche Informationen für den schlussendlichen Kunden bereit zu stellen. Bislang wurde ich zwar meines Erachtens gut fündig funktionieren will das ganze halt trotzdem nicht.

    Hier mal die Schritte, die ich bereits gemacht habe. (Beispiele anhand einer Spalte)

    Übersetzung
    1. in \lang\german\admin\new_attributes.php  

    Code: PHP  [Auswählen]
    define('ATTR_BESCH','Beschreibung');
    (Definierung der der Deutschen Übersetzung)

    2. in  \admin\includes\modules\new_attributes_include.php
    Zeile 111

    Code: PHP  [Auswählen]
    echo "<TD class=\"dataTableHeadingContent\"><strong>".ATTR_BESCH."</strong></TD>";
    (Tabellenheader erweitert)

    Zeile 166

    Code: PHP  [Auswählen]
    echo "<TD class=\"main\" align=\"left\"><input type=\"text\" name=\"" . $current_value_id . "_besch\" value=\"" . $attribute_value_besch . "\" size=\"15\"></TD>";
    (Eingabe Feld gesetzt)

    3. in \admin\includes\modules\new_attributes_functions.php
    Zeile 25

    Code: PHP  [Auswählen]
    $attribute_value_besch;
    hinzugefügt
    Zeile 47

    Code: PHP  [Auswählen]
    $attribute_value_model = $line['attributes_model'];
    hinzugefügt
    Zeile 77

    Code: PHP  [Auswählen]
    $attribute_value_besch = '';
    else Teil der Schleife erweitert.

    4. in \admin\includes\modules\new_attributes_change.php
    Zeile 62

    Code: PHP  [Auswählen]
    $value_besch =  $_POST[$cv_id . '_besch'];
    Zeile 65

    Code: PHP  [Auswählen]
    ,'".$value_besch."'
    ergänzt

    5. in \admin\new_attributes.php

    Code: PHP  [Auswählen]
    switch($_POST['action']) {
        case 'edit':
          if ($_POST['copy_product_id'] != 0) {
              $attrib_query = xtc_db_query("SELECT products_id, options_id, options_values_id, options_values_price, price_prefix, attributes_model, attributes_stock, options_values_weight, weight_prefix, attributes_besch, sortorder FROM ".TABLE_PRODUCTS_ATTRIBUTES." WHERE products_id = " . $_POST['copy_product_id']);
              while ($attrib_res = xtc_db_fetch_array($attrib_query)) {
                  xtc_db_query("INSERT into ".TABLE_PRODUCTS_ATTRIBUTES." (products_id, options_id, options_values_id, options_values_price, price_prefix, attributes_model, attributes_stock, options_values_weight, weight_prefix, attributes_model, sortorder) VALUES ('" . $_POST['current_product_id'] . "', '" . $attrib_res['options_id'] . "', '" . $attrib_res['options_values_id'] . "', '" . $attrib_res['options_values_price'] . "', '" . $attrib_res['price_prefix'] . "', '" . $attrib_res['attributes_model'] . "', '" . $attrib_res['attributes_stock'] . "', '" . $attrib_res['options_values_weight'] . "', '" . $attrib_res['weight_prefix'] . "', '" . $attrib_res['attributes_besch'] . "', '" . $attrib_res['sortorder'] . "')");
              }
          }
    6. in \includes\modules\product_attributes.php
    Zeile 42

    Code: PHP  [Auswählen]
    $products_options_query = xtDBquery("select pov.products_options_values_id,
                                                                     pov.products_options_values_name,
                                                                     pa.attributes_model,
                                                                     pa.options_values_price,
                                                                     pa.price_prefix,
                                                                     pa.attributes_stock
                                                                                                                     pa.attributes_besch,
    erweitert.

    Jo bringt halt alles nix. Wenn ich Versuche Daten einzugeben kommt folgende Fehlermeldung:
    1054 - Unknown column 'attributes_besch' in 'field list'

    INSERT INTO products_attributes (products_id, options_id, options_values_id, options_values_price, price_prefix , attributes_model, attributes_stock, options_values_weight, weight_prefix, attributes_besch, sortorder) VALUES ('15', '1', '13', '5', '+', '2', '3', '4.0000', '+', '6', '1')
    ... wenn ich dann hingehe und in phpMyAdmin das Datenbankfeld manuell anlege kommt zwar keine Fehlermeldung aber speichert halt weiterhin nicht die eingegebenen Inhalte. Wäre nice wenn mir jemand auf die Sprünge helfen könnte wo ich was vergessen habe.



    Linkback: https://www.modified-shop.org/forum/index.php?topic=9732.0

    franky_n

    • Experte
    • Beiträge: 4.950
    Attribute editieren erweitern
    Antwort #1 am: 01. Dezember 2010, 16:13:29
    Hallo Lewdness,

    mach mal aus dem hier:

    Code: PHP  [Auswählen]
                  xtc_db_query("INSERT into ".TABLE_PRODUCTS_ATTRIBUTES." (products_id, options_id, options_values_id, options_values_price, price_prefix, attributes_model, attributes_stock, options_values_weight, weight_prefix, attributes_model, sortorder) VALUES ('" . $_POST['current_product_id'] . "', '" . $attrib_res['options_id'] . "', '" . $attrib_res['options_values_id'] . "', '" . $attrib_res['options_values_price'] . "', '" . $attrib_res['price_prefix'] . "', '" . $attrib_res['attributes_model'] . "', '" . $attrib_res['attributes_stock'] . "', '" . $attrib_res['options_values_weight'] . "', '" . $attrib_res['weight_prefix'] . "', '" . $attrib_res['attributes_besch'] . "', '" . $attrib_res['sortorder'] . "')");
    das:

    Code: PHP  [Auswählen]
                  xtc_db_query("INSERT into ".TABLE_PRODUCTS_ATTRIBUTES." (products_id, options_id, options_values_id, options_values_price, price_prefix, attributes_model, attributes_stock, options_values_weight, weight_prefix, attributes_besch, sortorder) VALUES ('" . $_POST['current_product_id'] . "', '" . $attrib_res['options_id'] . "', '" . $attrib_res['options_values_id'] . "', '" . $attrib_res['options_values_price'] . "', '" . $attrib_res['price_prefix'] . "', '" . $attrib_res['attributes_model'] . "', '" . $attrib_res['attributes_stock'] . "', '" . $attrib_res['options_values_weight'] . "', '" . $attrib_res['weight_prefix'] . "', '" . $attrib_res['attributes_besch'] . "', '" . $attrib_res['sortorder'] . "')");
    Viele Grüße

    Franky

    Lewdness

    • Neu im Forum
    • Beiträge: 14
    Attribute editieren erweitern
    Antwort #2 am: 01. Dezember 2010, 16:32:52
    Hmm leider nicht. Wenn ich das ganze so mache verschluckt er mir sämtliche Datensätze und die Fehlermeldung bleibt eigentlich die gleiche... Wobei eigentlich Frag ich mich in dem Zusammenhang zwei Dinge erstens warum das Datenbankfeld nicht angelegt wird (bzw. wo geschieht das) und wo wird es beschrieben (und warum macht es das ned) yell for Tomcraft ;)

    franky_n

    • Experte
    • Beiträge: 4.950
    Attribute editieren erweitern
    Antwort #3 am: 01. Dezember 2010, 16:35:54
    Hallo Lewdness,

    na was hast Du denn jetzt in der DB gemacht?
    Steht da nun das Feld:
    attributes_besch
    drin oder noch nicht?
    Wenn es drin steht solltest Du die Fehlermeldung nicht mehr haben und wenn Du meine Codezeile dann nimmst sollte er auch was rein schreiben in das Feld. :)

    Auch wichtig bei der ganzen Sache: Wenn eine Fehlermeldung kommt diese posten! Es reicht aus wenn die sich nur minimal unterscheidet und mir nötige Infos zur Fehlerbeseitigung gibt.

    Wir sind alle keine  :glaskugel: auch Tomcraft nicht! ;)

    Viele Grüße

    Franky

    Lewdness

    • Neu im Forum
    • Beiträge: 14
    Attribute editieren erweitern
    Antwort #4 am: 01. Dezember 2010, 16:42:27
    Ok hab es nun nochmal angelegt... Feldname attributes_besch Null Ja und Standart Null... mit deinem Änderungsvorschlag

    Wenn ich dann den Attribute editiere (mit gesetztem Feld in der Datenbank) kommt keine Fehler (Juhu) aber die Datensätze sind bei wieder aufrufen alle leer.

    franky_n

    • Experte
    • Beiträge: 4.950
    Attribute editieren erweitern
    Antwort #5 am: 01. Dezember 2010, 16:48:42
    Hallo Lewdness,

    ok der Aufruf ist leer richtig?
    Und in der DB? Ist das Feld da auch leer?

    Viele Grüße

    Franky

    Lewdness

    • Neu im Forum
    • Beiträge: 14
    Attribute editieren erweitern
    Antwort #6 am: 01. Dezember 2010, 16:55:45
    Leider ja... bzw. NULL NULL NULL....

    franky_n

    • Experte
    • Beiträge: 4.950
    Attribute editieren erweitern
    Antwort #7 am: 01. Dezember 2010, 16:57:54
    Hallo Lewdness,

    wenn Du in der Seite bist wo Du die Attribute einpflegst und dort in den HTML Quelltext schaust.
    Findest Du dann dort das Feld "_besch" mit dem korrekten Namen?

    Viele Grüße

    Franky

    Lewdness

    • Neu im Forum
    • Beiträge: 14
    Attribute editieren erweitern
    Antwort #8 am: 01. Dezember 2010, 17:11:33
    Firebug sagt value="" name"13_besch" (in Zeile 13)

    franky_n

    • Experte
    • Beiträge: 4.950
    Attribute editieren erweitern
    Antwort #9 am: 01. Dezember 2010, 17:17:39
    Hallo Lewdness,

    und in der Z.64 in der new_attributes_change hast Du auch das attribute_besch eingesetzt denn das ist oben in der Beschreibung nicht enthalten.

    Code: PHP  [Auswählen]
    xtc_db_query("INSERT INTO ".TABLE_PRODUCTS_ATTRIBUTES." (products_id, options_id, options_values_id, options_values_price, price_prefix ,attributes_model, attributes_stock, options_values_weight, weight_prefix,sortorder) VALUES ('" . $_POST['current_product_id'] . "', '" . $optionsID . "', '" . $_POST['optionValues'][$i] . "', '" . $value_price . "', '" . $value_prefix . "', '" . $value_model . "', '" . $value_stock . "', '" . $value_weight . "', '" . $value_weight_prefix . "','".$value_sortorder."')") or die(mysql_error());
    in das also geändert:

    Code: PHP  [Auswählen]
    xtc_db_query("INSERT INTO ".TABLE_PRODUCTS_ATTRIBUTES." (products_id, options_id, options_values_id, options_values_price, price_prefix ,attributes_model, attributes_stock, options_values_weight, weight_prefix,attributes_besch,sortorder) VALUES ('" . $_POST['current_product_id'] . "', '" . $optionsID . "', '" . $_POST['optionValues'][$i] . "', '" . $value_price . "', '" . $value_prefix . "', '" . $value_model . "', '" . $value_stock . "', '" . $value_weight . "', '" . $value_weight_prefix . "','".$value_besch."','".$value_sortorder."')") or die(mysql_error());
    Und im Quelltext steht das?

    Code: PHP  [Auswählen]
    name"13_besch"
    anstatt dem:

    Code: PHP  [Auswählen]
    name="13_besch"
    Dann wäre da der Fehler oder Du hast Dich verschrieben.

    Ich blicke auch nicht warum das value jetzt vor dem name steht. Denn das ist anders als das was Du oben angegeben hast was Du eingebaut hast...

    Viele Grüße

    Franky

    Lewdness

    • Neu im Forum
    • Beiträge: 14
    Attribute editieren erweitern
    Antwort #10 am: 01. Dezember 2010, 17:35:19
    Aehm das mit dem fehlenden = Zeichen war ein Fehler ist natürlich name="13_besch".
    nach du mir eben empfohlen hast sind wir nun ein an ganzes Stück weiter, denn nun ist nur noch das Beschreibungsfeld (_besch) ohne value. Die anderen Felder werden nun wieder Korrekt zugewiesen.
    In der Datenbank selbst ist der Wert nun vorhanden. (schon mal fettes Thanks)

    franky_n

    • Experte
    • Beiträge: 4.950
    Attribute editieren erweitern
    Antwort #11 am: 01. Dezember 2010, 17:37:50
    Hallo Lewdness,

    ok dann wäre nur noch der Step:
    In der DB steht was aber ich will es editieren und es wird dann nicht angezeigt zum Bearbeiten oder?

    Viele Grüße

    Franky

    Lewdness

    • Neu im Forum
    • Beiträge: 14
    Attribute editieren erweitern
    Antwort #12 am: 01. Dezember 2010, 17:45:31
    Genau in der Datenbank ist ein Wert vorhanden der sich auch Verändern lässt nur im Backend wird dieser Wert eben nicht angezeigt (Feld wird leer angezeigt).

    Wohin geht der Kasten Bier?

    franky_n

    • Experte
    • Beiträge: 4.950
    Attribute editieren erweitern
    Antwort #13 am: 01. Dezember 2010, 17:46:27
    Hallo Lewdness,

    dann schau mal in die /admin/includes/modules/new_attributes_functions.php
    und füge dort in Z.46 nach:

    Code: PHP  [Auswählen]
            $attribute_value_weight = $line['options_values_weight'];
    das ein:

    Code: PHP  [Auswählen]
            $attribute_value_besch = $line['attributes_besch'];
    Viele Grüße

    Franky

    Lewdness

    • Neu im Forum
    • Beiträge: 14
    Attribute editieren erweitern
    Antwort #14 am: 01. Dezember 2010, 17:53:00
    Hmm steht da schon... den else Teil hab ich auch erledigt..

    3 Antworten
    2608 Aufrufe
    10. Februar 2018, 14:37:22 von hpzeller
    5 Antworten
    6963 Aufrufe
    18. Februar 2018, 14:22:46 von Onlineshopper
    4 Antworten
    3389 Aufrufe
    15. Februar 2016, 12:12:20 von web28