Einige Benutzer beschweren sich über das Fenster "Ähnliche Themen"

Mehrere Mitglieder (einschließlich meines Hauptmoderators) haben Frustration über die Funktion „Ihr Thema ähnelt“ geäußert. Ich vermute, ein Teil davon liegt an Bildschirmgrößen und daran, dass das Div dafür Dinge teilweise verdeckt usw.

Ich habe mir überlegt… was wäre, wenn Sie einfach eine Option für Benutzer zulassen würden, diese Funktion zu deaktivieren?

3 „Gefällt mir“

Und ja, ich bin mit der Option vertraut, den Mindestwert für Textabfragen auf einen höheren Wert zu erhöhen. Ich habe ihn bereits auf 25 Zeichen eingestellt, aber ich denke, die Funktion könnte nützlich sein, vorausgesetzt, sie verärgert nicht mehr Mitglieder, als sie hilft.

2 „Gefällt mir“

Soll die Einstellung max_similar_results auf 0 gesetzt werden? Oder einfach den Wert verringern.

2 „Gefällt mir“

Das würde sie effektiv ausschalten, aber das war nicht meine Frage. Die beste Lösung wäre, wenn Benutzer, denen die Funktion nicht gefällt, sie über ein Cookie oder eine Kontoeinstellung unterdrücken könnten.

Das lässt sich recht einfach machen.

Sie können sich den Code dieser Komponente ansehen und ihn anpassen, um Elemente mit CSS (Ziel .similar-topics) in den Benutzereinstellungen auszublenden. Genau das habe ich auf https://unicyclist.com/ getan, wo Benutzer eine Einstellung haben, um das Spenden-Symbol oben rechts in der Kopfzeile auszublenden.

image

image


Im Grunde ist die einzige Änderung, die ich am ursprünglichen Plugin vorgenommen habe, dass ich die Einstellung in einem Cookie speichere (ich möchte meine Benutzer jedes Jahr an die Servergebühren erinnern).

Hier ist mein eigener Theme-Komponenten-Code:

    // set the cookie duration to 1 year
    function setHideDonationCookie(value=null) {
        var now = new Date();
        var time = now.getTime();
        var expireTime = time + 1000*60*60*24*365;
        now.setTime(expireTime);
        document.cookie = 'donationButton=' + value + ';expires='+now.toUTCString()+';path=/';
    }
    // return the cookie value
    function getCookie(name) {
        var dc = document.cookie;
        var prefix = name + "=";
        var begin = dc.indexOf("; " + prefix);
        if (begin == -1) {
            begin = dc.indexOf(prefix);
            if (begin != 0) return null;
        }
        else
        {
            begin += 2;
            var end = document.cookie.indexOf(";", begin);
            if (end == -1) {
            end = dc.length;
            }
        }
        return decodeURI(dc.substring(begin + prefix.length, end));
    } 

function getToggleDonationIcon() {
  let pref = getCookie('donationButton');

  let result = settings.default_enabled;
  if (pref !== null) {
    result = pref === "true";
  }
  return result;
}

// We add the CSS rule in the HTML code
if (getToggleDonationIcon()) {
  let style = document.createElement('style');
  style.innerHTML = ".header-icon-help-fund-servers-fees{ display: none; }";
  document.head.appendChild(style);
}

// technically we only want to amend current user here
api.modifyClass("model:user", {
  toggleDonationIcon: function() {
    return getToggleDonationIcon();
  }.property()
});

api.modifyClass("controller:preferences/interface", {
  actions: {
    save() {
      this._super();
      // set the cookie value as the setting value
      if(this.get("model.toggleDonationIcon") != getToggleDonationIcon()) {
        setHideDonationCookie(this.get("model.toggleDonationIcon").toString());
        if(this.get("model.toggleDonationIcon") == false) {
            document.getElementsByClassName("header-icon-help-fund-servers-fees")[0].style.display = "";
        }
        else {
            document.getElementsByClassName("header-icon-help-fund-servers-fees")[0].style.display = "none";
        }
      }
    }
  }
});
    
    
  {{preference-checkbox labelKey=(theme-prefix 'donation_icon_toggle') checked=model.toggleDonationIcon}} 
2 „Gefällt mir“