Alle Kundengruppen für neue Produkt im Admin aktivieren

Thema wurde von ff-webdesigner, 24. März 2025 erstellt.

  1. ff-webdesigner
    ff-webdesigner Erfahrener Benutzer
    Registriert seit:
    22. Januar 2014
    Beiträge:
    528
    Danke erhalten:
    47
    Danke vergeben:
    59
    Hallo beisammen,

    ich versuche gerade via Jquery alle Kundengruppen im Gambio Admin für neu angelegte Produkte zu aktivieren.
    Mein Code:
    Code:
    $('.customer-groups-setting .switcher').addClass("checked");
    aktiviert zwar grafisch alle Schalter - aber die Aktiverungen werden nicht gespeichert. Warum?
     
  2. Kai Stejuhn
    Kai Stejuhn Beta-Held
    Registriert seit:
    26. September 2014
    Beiträge:
    1.435
    Danke erhalten:
    732
    Danke vergeben:
    92
    Aus der Hüfte geschossen, würde ich sagen Du änderst nur die Darstellung, aber nicht den Status.
     
  3. ff-webdesigner
    ff-webdesigner Erfahrener Benutzer
    Registriert seit:
    22. Januar 2014
    Beiträge:
    528
    Danke erhalten:
    47
    Danke vergeben:
    59
    #3 ff-webdesigner, 24. März 2025
    Zuletzt bearbeitet: 24. März 2025
    damit liegst du sicher richtig kai. die frage is nur: wie kann ein form eine eingabe speichern, die keinerlei input hat? daran verzweifle ich gerade...gib dir den bereich zum setzen kundengruppenrechte admin:
    aus dem quellcode:

    HTML:
    <div class="span12">
                                <div class="control-group span6 grid customer-groups-setting">
                                    <div class="span4">
                                        <label>Admin</label>
                                    </div>
                                    <div class="span4">
                                        <input type="checkbox" name="groups[]"
                                            value="0">
                                     </div>
                                </div>
                            </div>
    anscheinend fügt gambio dann mittels jquery einiges dynamisch ein:


    HTML:
    <div class="span12">
                                <div class="control-group span6 grid customer-groups-setting">
                                    <div class="span4">
                                        <label>Admin</label>
                                    </div>
                                    <div class="span4">
                                        <div class="switcher  " title=""><input type="checkbox" name="groups[]" value="0"><div class="switcher-toggler"></div><div class="switcher-inner"><div class="switcher-state-on"><span class="fa fa-check"></span></div><div class="switcher-state-off"><span class="fa fa-times"></span></div></div><div class="switcher-text-on"></div><div class="switcher-text-off"></div></div>
                                    </div>
                                </div>
                            </div>
    
    div class = switcher bekommt "checked" sobald man auf switcher-toggler klickt. soweit bin ich. aber ich finde wirklich nichts wo diese eingabe in irgendeinem input gespeichert werden würde....der input name = groups[] oben beinhaltet immer nur die id der betreffenden kundengruppe...
     
  4. ff-webdesigner
    ff-webdesigner Erfahrener Benutzer
    Registriert seit:
    22. Januar 2014
    Beiträge:
    528
    Danke erhalten:
    47
    Danke vergeben:
    59
    hach...der werte dominik s. mal wieder. er meinte ich möge doch den cklick erst mit verzögerung triggern.
    recht hat er.

    Code:
    window.addEventListener('load', function () {
        // wenn neuer artikel in stammverzeichnis angelegt wird
        if(window.location.href.indexOf("categories.php?cPath=0&action=new_product") != -1){
         
            setTimeout(function () {
                // alle kundengruppen aktivieren
    
                $('.customer-groups > .frame-content > .span12 .switcher-toggler').trigger("click");
                // und eine wieder deaktivieren
                $('.customer-groups > .frame-content > .span12:nth-of-type(3) .switcher-toggler').trigger("click");
            }, 1000)
    
        }
    })