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: IDs von Artikelmerkmalen ändern!

    Dominik_540

    • Neu im Forum
    • Beiträge: 24
    IDs von Artikelmerkmalen ändern!
    am: 24. März 2011, 10:38:13
    Hallo. Meine Frage:

    Wenn ich Artikelmerkmale anlegen, zB. Größe; Farbe etc.. dann bekommt Größe die ID 1 und Farbe die ID 2, da Größe ja als erstes und Farbe als 2tes angelegt wurde.

    Kann ich diese IDs irgendwie ändern? In der Datenbank? Wenn ich das nachträgliche mache, bekomme ich dann Probleme mit einzelnen Optionen dieser Merkmale (zB. Rot bei Farbe), wenn diese schon mit bestehenden Artikeln verknüpft sind.

    Beste Grüße, Dominik :)



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

    Ofendo

    • Schreiberling
    • Beiträge: 305
    • Geschlecht:
    IDs von Artikelmerkmalen ändern!
    Antwort #1 am: 24. März 2011, 10:41:08
    Hallo Dominik,

    grundsätzlich kannst du alle ID´s im nachhinein in der Datenbank ändern, aber dann gehen dir auch die Dinge, die mit den ID´s verbunden sind, verloren, bzw. geraten durcheinander. Es wäre vielleicht einfacher, wenn du beschreiben würdest, was du denn genau vor hast, oder was du gerne hättest.

    Un Saludo
    Daniel

    hendrik

    • Experte
    • Beiträge: 2.038
    IDs von Artikelmerkmalen ändern!
    Antwort #2 am: 24. März 2011, 10:56:29
    Die IDs sind datenbankinterne Verknüpfungen. Ich würde da nicht dran rumfummeln außer du weisst was du tust. Unsinn was du da vor hast.

    Um die Reihenfolge der Optionen festzulegen gibts bereits eine Funktion. "Sortierung" in den Artikelmerkmalen. Dort gibst du Zahlen ein. In dieser Reihenfolge erscheinen später deine Optionen. Die Optionswerte (Attribute/Attributverwaltung) hat das auch. Dort heisst es "Reihenfolge".

    Gruß
    Hen

    Dominik_540

    • Neu im Forum
    • Beiträge: 24
    IDs von Artikelmerkmalen ändern!
    Antwort #3 am: 24. März 2011, 11:16:17
    Ich habe den Artikelfilter für das Frontend eingebaut: MODUL: Artikelfilter für Attribute im Frontend

    Wir haben einen sehr umfangreichen Felgen-Shop. Die Kunden sollen dann anhand des Filters  wählen können. Als Artikeloptionen gibt es FELGENMARKE und FELGENGRÖßE. Nun habe ich jedoch "Felgenmarke" zuerst angelegt und somit steht dies dann auch vor "Felgengröße"! Es sollte aber so sein, dass das Felgengröße-Dropdown vor dem Felgenmarke-Dropdown stehen soll!

    Das mit der Sortierung funktioniert nicht, da das mit der ID zusammenhängt.

    Zudem frage ich mich, warum kein MANUFACTURER DROPDOWN angezeigt wird...  :nixweiss:

    hendrik

    • Experte
    • Beiträge: 2.038
    IDs von Artikelmerkmalen ändern!
    Antwort #4 am: 24. März 2011, 11:46:20
    Das mit der Sortierung funktioniert nicht, da das mit der ID zusammenhängt.

    Daß es um ein Modul geht und nicht um den Standardshop hättest du aber auch sagen können.

    Du scheinst ja von deinem ID-Patch-Lösungsansatz ziemlich überzeugt zu sein. Du musst mehr als eine Tabelle manipulieren. Da empfehle ich dir folgendes Tutorial. :-)

    Tutorial: Optionen und Attribute in Datenbank

    Dein Problem ließe sich auch mit einer Zeile Code lösen. Habs allerdings nicht getestet.

    angepasste default.php aus Modul:
    Finde:

    Code: PHP  [Auswählen]
     and po.language_id = '.(int) $_SESSION['languages_id'].'
     and pv.language_id = '.(int) $_SESSION['languages_id'].'
     and p.products_status = 1
     '. $excluded_options_condition .'
     group by 1, 2, 3, 4
     order by 1, 4';
    Füge markierte Zeile ein:

    Code: PHP  [Auswählen]
     and po.language_id = '.(int) $_SESSION['languages_id'].'
     and pv.language_id = '.(int) $_SESSION['languages_id'].'
     and p.products_status = 1
     '. $excluded_options_condition .'
     order by products_options_sortorder   <--- Einfügung
     group by 1, 2, 3, 4
     order by 1, 4';
    Gruß
    Hen

    Dominik_540

    • Neu im Forum
    • Beiträge: 24
    IDs von Artikelmerkmalen ändern!
    Antwort #5 am: 24. März 2011, 22:02:58
    Hallo und danke für die Hilfe. Also aus der Datenbank lasse ich erstmal die Finger....

    Wenn ich den CODE an der genannten Stelle einfüge, kommt folgende Fehlermeldung:
    1064 - Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei 'group by 1, 2, 3, 4 order by 1, 4' in Zeile 30

    select po.products_options_id options_id, po.products_options_name options_name, pv.products_options_values_id options_values_id, pv.products_options_values_name options_values_name, count(pa.products_id) option_values_count from products_options po join products_options_values_to_products_options pv2po on pv2po.products_options_id = po.products_options_id join products_options_values pv on pv.products_options_values_id = pv2po.products_options_values_id join products_attributes pa on pa.options_id = po.products_options_id and pa.options_values_id = pv.products_options_values_id join products_to_categories p2c on p2c.products_id = pa.products_id join products p on p.products_id = pa.products_id join (select p.products_id from products p join products_attributes pa on pa.products_id = p.products_id join products_options_values pv on pv.products_options_values_id = pa.options_values_id where pa.options_values_id in (300) and pv.language_id = 2 group by 1 having count(p.products_id) = (select count(products_options_values_id) from products_options_values where language_id = 2 and products_options_values_id in (300))) x on x.products_id = pa.products_id where p2c.categories_id = 1751 and po.language_id = 2 and pv.language_id = 2 and p.products_status = 1 order by products_options_sortorder group by 1, 2, 3, 4 order by 1, 4

    [XT SQL Error]

    hendrik

    • Experte
    • Beiträge: 2.038
    IDs von Artikelmerkmalen ändern!
    Antwort #6 am: 25. März 2011, 05:53:28
    Versuche es mal so:

    Code: PHP  [Auswählen]
    and po.language_id = '.(int) $_SESSION['languages_id'].'
    and pv.language_id = '.(int) $_SESSION['languages_id'].'
    and p.products_status = 1
    '. $excluded_options_condition .'
    group by 1, 2, 3, 4
    order by products_options_sortorder, 1, 4';

    Gruß
    Hen

    1 Antworten
    1838 Aufrufe
    19. Januar 2016, 10:56:08 von hendrik
    8 Antworten
    3590 Aufrufe
    14. Juni 2011, 19:06:22 von knecht2020
    5 Antworten
    4002 Aufrufe
    18. Januar 2011, 07:07:15 von Ivette
    25 Antworten
    11279 Aufrufe
    16. Juni 2012, 13:07:27 von derJan