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: Änderung einer Kategorie führt zu Rechteänderung bei Artikeln?!

    fiveBytes

    • Mitglied
    • Beiträge: 120
    • Geschlecht:
    Hallo zusammen,

    ich habe folgendes Problem: Ein Kunde von mir betreibt einen Webshop (modified eCommerce Shopsoftware) in dem verschiedene Kundengruppen unterschiedliche Artikel und teilweise auch unterschiedliche Kategorien zu sehen bekommen. Über die Rechtevergabe kein Problem - so weit so gut. Es gibt aber auch Mischkategorien, also eine Kategorie, sichtbar für alle Kundegruppen, aber darin liegen Artikel die entweder für die eine oder andere Kundengruppe freigegeben sind und hier ergibt sich das Problem. Sobald eine solche Kategorie geändert wird, ändern sich auch alle Rechte der darin liegenden Artikel, was dann dazu führt, dass auf einmal jede Kundengruppe in der Kategorie alle Artikel sehen und bestellen kann?! Das darf auf keinen Fall so sein, denn wofür kann ich sonst auch Kundengruppen auf Artikelebene festlegen? Ist das ein Bug bei mir, ist das immer so und soll auch so sein?

    Ich muss das auf jeden Fall unterbinden, die Rechte der Artikel dürfen nicht an die Rechte der Kategorie angeglichen werden, wenn diese geändert wird. Hat jemand auch schon mal mit diesem "Problem" zu tun gehabt? Kann ich das durch Einstellungen im BackEnd unterbinden oder muss ich die php-Scripte zerflücken, um diese unschöne "Funktion" (oder ist es doch ein Bug im System) zu unterbinden?

    Freue mich auf Anregungen.
    MfG
    Stefen Baetge

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

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.989
    • Geschlecht:
    Was heißt "Sobald eine solche Kategorie geändert wird" genau ?
    Was änderst du ?

    Wenn du das meinst
    "die Rechte der Artikel dürfen nicht an die Rechte der Kategorie angeglichen werden"
    dann soll das so sein.
    Bei der Entwicklung musste man halt abwägen ob es besser ist, daß
    • Betreiber die eine Kategorie und deren Artikel nur für eine bestimmte Kundengruppe sichtbar haben möchten allen Artikel einzeln ebenfalls die Rechte vergeben müssen
      oder
    • umgekehrt, daß bei Setzen einer Berechtigung in der Kategorie alle Artikel auch automatisch die Berechtigung bekommen.

    Beides geht nicht und man hat sich halt für das erste entschieden.
    Will sagen, wäre es so wie du es möchtest, würden sich andere beschweren, daß sie bei alle Artikeln einzeln die Berechtigungen geben müssen.
    Außerdem benötigst du ja wahrscheinlich auch den anderen Fall.

    Lösung wäre eine Checkbox mit der man bestimmen kann ob auch alle Artikel die in der Kategorie gesetzten Berechtigungen bekommen sollen oder nicht. Das wäre für manche sicherlich eine schöne Erweiterung.
    (Kann ich dir bauen)

    Vorübergehende Lösung für dich (aber dann daran denken, daß du's geändert hast):
    In /admin/includes/classes/categories.php wird die Funktion xtc_set_groups() aus /admin/includes/functions/general.php ausgeführt um die Berechtigungen zu setzen.
    Suche die Funktion in zweitgenannter Datei und kommentiere diesen Part aus:
    Code: PHP  [Auswählen]
    $products_query = xtc_db_query("SELECT products_id FROM ".TABLE_PRODUCTS_TO_CATEGORIES." where categories_id='".$categories_id."'");
        while ($products = xtc_db_fetch_array($products_query)) {
          xtc_db_perform(TABLE_PRODUCTS, $permission_array, 'update', 'products_id = \''.$products['products_id'].'\'');
        }

    Gruß,
    noRiddle

    fiveBytes

    • Mitglied
    • Beiträge: 120
    • Geschlecht:
    Hallo noRiddle,

    vielen Dank für die prompte Antwort. Ich hatte die Quellen soweit nun auch schon durchforstet und es soll wohl tatsächlich so sein ;-) aber ok, in der Tat hast Du Recht und es könnte so oder so laufen. In meinem Falle kommt der gesamte Datenbestand (Kategorien/Artikel und eben auch Berechtigungen) aus einer Wawi, ich habe dazu eine passendes php-Script mit Cron-Job geschrieben, so dass der Kunde regelmäßig auf "Knopfdruck" ein Datenupdate vornehmen kann. Nur müssen sämtliche Bilder nachträglich per Hand über das BackEnd eingepflegt werden, da die Wawi hierfür keine Möglichkeit bietet. Auch Kategorietexte pflegt der Kunde später von Hand im BackEnd. Dadurch war die Lösung wie sie nun standardmäßig vorgesehen ist doch eher suboptimal ;-) ich habe nun die entsprechenden Updates erst mal auskommentiert. Ggf. bastel ich noch eine Checkbox ins BackEnd, damit die automatische Vererbung der Rechte unterbunden bzw. dazu geschaltet werden kann. Momentan reicht es aber erst mal aus, wenn die Artikel-Rechte einfach so bleiben wie sie sind, wenn die Kategorie geändert wird.
    Trade Republic - Provisionsfrei Aktien handeln
    3 Antworten
    2874 Aufrufe
    18. März 2011, 14:47:51 von GTB
    4 Antworten
    1842 Aufrufe
    06. März 2021, 09:35:27 von bautti
    22 Antworten
    12104 Aufrufe
    19. Januar 2012, 22:08:36 von bige
               
    anything