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 wo alles vergeben?

    chrisshl

    • Neu im Forum
    • Beiträge: 40
    Attribute wo alles vergeben?
    am: 15. April 2011, 08:39:44
    Hallo xtc´ler,

    hat jemand von euch einen Tipp oder gibt es vielleicht eine Funktion, die mir anzeigt, wo ein bestimmtes Attribut alles vergeben ist? Also zu welchen Artikeln es alles genutzt wird?



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

    MW

    • Fördermitglied
    • Beiträge: 418
    • Geschlecht:
    Attribute wo alles vergeben?
    Antwort #1 am: 15. April 2011, 09:17:02
    Indem du einfach unter Artikelmerkmale auf den jeweiligen Attributnamen (beispiel Farbe/blau) gehst und auf löschen klickst. Dann wird dir angezeigt mit welchen Produkten das Attribut verbunden ist, so dass eigentlich dann auch kein löschen möglich ist. Angezeigt wird dann - (Mit dieser Option sind Artikel, sowie Optionsmerkmale verbunden - Löschen wird nicht empfohlen.), sowie die jeweiligen Produkte.

    dermax

    • Neu im Forum
    • Beiträge: 40
    Re: Attribute wo alles vergeben?
    Antwort #2 am: 01. Februar 2016, 22:47:02
    hey zusammen,
    das Thema ist zwar schon ziemlich alt, aber hier passt meine Frage eigentlich ideal dazu:

    Gibt es eine möglichkeit die Attributgruppe trotzdem zu löschen (obwohl Produkte damit verbunden sind), also quasi die empfehlung zu umgehen? (ich kann beim erscheinen der Warnung nur einen Abbrechen Button finden...).

    Wäre über einen Tipp sehr dankbar, da ich sonst bei sehr vielen Produkten dieses eine Attribut jeweils manuell entfernen müsste...

    Beste Grüße,
    Max.

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: Attribute wo alles vergeben?
    Antwort #3 am: 02. Februar 2016, 06:53:11
    Schreib doch eine SQL-Anweisung, die bei all diesen Artikeln die Verknüpfung zum Merkmal löscht?
    (Auf diese Art könnte man auch die Meldung umgehen, ist aber definitiv nicht zu empfehlen, denn so ein Schutzmechanismus existiert nicht umsonst und du weißt nie, was dadurch später mal kaputt geht)

    dermax

    • Neu im Forum
    • Beiträge: 40
    Re: Attribute wo alles vergeben?
    Antwort #4 am: 02. Februar 2016, 11:39:35
    hey Fakrae,
    danke für deine Antwort. Ich habe noch nie eine SQL Abfrage geschrieben. Nach kurzem Wikipedia sieht das zwar nicht soo schwierig aus, dennoch bin ich mir nicht sicher ob das eine gute Idee ist da ich damit ja in meiner Datenbank rumpfusche, und damit dann dohc auch einiges kaputt gehen könnte oder (insbesondere dann wenn ich mich mit der SQL Abfrage nicht 100% auskenne).

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: Attribute wo alles vergeben?
    Antwort #5 am: 02. Februar 2016, 14:37:10
    Du kannst dir ja überlegen wie du die Abfrage machen würdest und sie dann hier posten und wir schauen es uns an - zusammen mit einem Backup vorher sollte das dann relativ sicher sein
    (Aus Lernzwecken würde ich jetzt ungern einfach die Abfrage posten, ein bisschen Wissen zu dem Thema steht eigentlich jedem gut zu Gesicht)

    dermax

    • Neu im Forum
    • Beiträge: 40
    Re: Attribute wo alles vergeben?
    Antwort #6 am: 02. Februar 2016, 17:22:45
    ok sehr gerne.
    lese mich wenn die kids im bett sind mal ein und bin gespannt was ich da hinbekomme ;-)

    dermax

    • Neu im Forum
    • Beiträge: 40
    Re: Attribute wo alles vergeben?
    Antwort #7 am: 02. Februar 2016, 22:21:00
    so, die Abfrage:

    SELECT `products_id`,`options_id`
    FROM `products_attributes`
    WHERE options_id = 28;

    zeigt mir genau die Produkt_ids der Produkte, die auch im Adminbereich des shops aufgelistet werden, wenn der hinweis erscheint löschen wird nicht emfpohlen.

    Somit sollte die Abfrage (kommt mir jetzt fast etwas zu banal vor?)

    DELETE FROM products_attributes`
    WHERE options_id`=28;

    mir die ensprechenden zeilen löschen?
    selbst wenn das so stimmen sollte, ist mir noch nicht ganz klar in welcher der DB ich diesen SQL code ausführen muss. Mein DB-Backup zeigt mir dass db_4 im shop benutzt wird, davon habe ich aber 3- stück (die alle die obige products_attributes tabelle enthalten)?

    wie immer danke ;-)

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: Attribute wo alles vergeben?
    Antwort #8 am: 03. Februar 2016, 07:30:50
    Nur für die Begrifflichkeit:
    "Gewicht, 100g, 200g, 500g"
    Hierbei ist "Gewicht" das Merkmal, 100g eine Option, genauso wie 500g

    SQL-Abfragen sind tatsächlich häufig so trivial :D
    Gerade bei relationalen Datenbanken und einem gutem Datenbankdesign reicht es idR aus, einen einzigen Faden zu ziehen.

    "options_id" ist die ID des Merkmals, "options_values_id" ist die der Option (des Attributes) im Merkmal.
    Sprich: options_id löscht dir alle Referenz auf das Merkmal, options_values_id auf eine Option und damit nur eine Auswahl des Merkmals. An dieser Stelle hast du nochmal eine Unterscheidungsmöglichkeit, wenn es denn nötig sein sollte.

    Da du nur die "products_attributes"-Tabelle anfässt, ändert sich am Merkmal selbst auch nichts, nur an der Zuordnung der Artikel zum Merkmal.

    In deiner /includes/configure.php steht der Name deiner Datenbank.
    Wieso hast du 3 gleich-benannte? Das sollte eigentlich nicht sein...

    dermax

    • Neu im Forum
    • Beiträge: 40
    Re: Attribute wo alles vergeben?
    Antwort #9 am: 04. Februar 2016, 11:10:15
    hey Fakrae.
    SQL-Abfragen sind tatsächlich häufig so trivial :D

    Heisst das (ja ich will dieses "Merkmal" bzw. diese options_id komplett löschen) der Code stimmt soweit?

    Da du nur die "products_attributes"-Tabelle anfässt, ändert sich am Merkmal selbst auch nichts, nur an der Zuordnung der Artikel zum Merkmal.
    Mh wird nicht, wenn ich das jetzt richtig verstehe, das Merkmal komplett gelöscht?
    Also um hier missverständnisse zu vermeiden mal ein beispiel:
    ich habe ein Produkt, eine Tasse, und das Merkmal "Farbe" mit den zwei Optionen "grün" und "blau".
    Wenn ich das jetzt richtig verstehe würde mein code das komplette Merkmal Farbe löschen (und damit auch die optionen grün und blau), so dass man hinterher bei Tasse die Farbe nicht mehr auswählen kann.

    In deiner /includes/configure.php steht der Name deiner Datenbank.
    Wieso hast du 3 gleich-benannte? Das sollte eigentlich nicht sein...
    Warum weiß ich auch nicht. aber sie sind nicht komplett identisch. sie liegen auf unterschiedlichen
    sqlXXX.your-server.de (sprich das XXX unterscheidet sich, und in der configure steht welches ich brauche :-) )

    vielen vielen Dank Fakrae!

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: Attribute wo alles vergeben?
    Antwort #10 am: 04. Februar 2016, 12:07:30
    Zu den Datenbanken kann ich nichts sagen, tut mir Leid.
    (Soll das heißen in deiner configure.php steht nur "DatenbankX" und du hast diese DatenbankX aber auf sql1... sql2... und sql3.your-server.de? Irgendwo müsste doch definiert sein von welchem Server er die DatenbankX verwendet...)

    Den Code müsstest du so verwenden können, ja.

    Frage 2: Naja ^^ Dein Code löscht die Zuordnung (Tasse kann nicht mehr in blau/grün ausgewählt werden und hat kein Farbe-Merkmal mehr), aber nicht die Definition des Merkmals (du kannst im Backend bei deiner Tasse oder auch einem Teller die Farbe wieder neu zuweisen, wenn du möchtest). Sprich das Löschen des Markmals "Farbe" als verfügbares Merkmal deines Shops musst du danach noch im Shop machen (das, wo er bisher sagt, dass es noch in Verwendung ist und deswegen nicht gelöscht werden kann)

    dermax

    • Neu im Forum
    • Beiträge: 40
    Re: Attribute wo alles vergeben?
    Antwort #11 am: 04. Februar 2016, 14:46:43
    aha ok, aber das sollte dann gehen weil kein produkt mehr mit dem merkmal verbunden ist :-)

    zu den db:
    in meiner configure php steht:

    Code: PHP  [Auswählen]
     
      define('DB_DATABASE', 'bindaba_db4');
     define('DB_SERVER', 'sql199.your-server.de'); // eg, localhost - should not be empty for productive servers
     

    die db bindaba_db4 habe ich 3 mal, aber nur einmal liegt sie auf sql199.your-server.de.
    (die anderen ligen auf sql89.your-server.de z.b.).

    aber cool, heute abend werde ich das mal in angriff nehmen und berichten!

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: Attribute wo alles vergeben?
    Antwort #12 am: 04. Februar 2016, 16:09:15
    Dann ist ja eindeutig definiert, welche du nehmen musst :-)

    (und natürlich: Backup vorher nicht vergessen :D )

    dermax

    • Neu im Forum
    • Beiträge: 40
    Re: Attribute wo alles vergeben?
    Antwort #13 am: 04. Februar 2016, 21:31:40
    yeah, nachdem der puls kurzzeitig hochging hat alles problemlos geklappt :-D
    und wie du gesagt hattest war das attribut (merkmal) im adminbereich dann noch vorhanden, konnte dann aber gelöscht werden da keine produkte mehr damit verbunden waren.

    1000 Dank für die hilfe zur selbsthilfe, top Fakrae!!!!!

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: Attribute wo alles vergeben?
    Antwort #14 am: 04. Februar 2016, 21:33:25
    Keine Ursache :-)
    Marktplatz - Eine große Auswahl an neuen und hilfreichen Modulen sowie modernen Templates für die modified eCommerce Shopsoftware
    1 Antworten
    2294 Aufrufe
    17. Juli 2012, 20:52:46 von KAT
    10 Antworten
    3930 Aufrufe
    22. August 2016, 17:13:49 von hwk
    0 Antworten
    1706 Aufrufe
    11. Oktober 2013, 01:01:42 von smoker