Ich versuche gerade zu lernen, wie man ein Plugin für Discourse erstellt. Aktuell versuche ich herauszufinden, wie man eine Schaltfläche in die Ecke des Bildschirms setzt und wie man bei einem Klick die Anfrage verarbeitet. Wie kann ich das machen? Es ist wirklich grundlegend, aber ich habe es nicht hinbekommen.
Außerdem habe ich in einigen Plugins Aufrufe wie includePostAttributes und decorateWidget gesehen. Wo kann ich eine Liste aller Methoden finden, die Discourse zur Verfügung stellt?
Kannst du bitte einen Screenshot davon posten, wo du diese Schaltfläche hinzufügen möchtest, und beschreiben, was passieren soll, wenn sie geklickt wird?
Ich glaube, du beziehst dich auf die Plugin-API. Du kannst alle Methoden dieser API – mit einigen Beispielen – hier finden:
Wie Sie sehen können, habe ich in der Ecke einen kleinen Kreis hinzugefügt, der den Button darstellt. Der Button soll in der Luft schweben (das heißt, wenn ich nach unten scrollen, sollte er immer noch in der Ecke sein). Die Logik, die beim Klicken ausgeführt wird, werde ich versuchen selbst hinzuzufügen, aber um es klarer zu machen, versuche ich derzeit zu verstehen, wie ein Alert-Fenster geöffnet wird (nur zur Übung).
Das, wonach Sie suchen, heißt position: fixed und ist eine CSS-Eigenschaft. Weitere Informationen zur CSS-Positionierung finden Sie hier:
position: fixed sorgt dafür, dass das Element an derselben Position bleibt (relativ zum Viewport), auch wenn Sie nach unten scrollen.
Ich bin mir nicht ganz sicher, was Sie hier genau erreichen möchten, aber wenn Sie nur möchten, dass sich beim Klicken auf einen Button ein Alert-Fenster öffnet, benötigen Sie einen Event-Listener. Weitere Informationen dazu finden Sie hier:
Gibt es ein spezifisches Problem, das Sie lösen möchten und bei dem wir Ihnen helfen können?
Nochmals vielen Dank für die Informationen. Das ist mir alles bekannt. Ich glaube, mein Problem ist, dass ich nicht verstehe, wo das CSS hinkommt. Ich habe Ruby-Dateien und JS-Dateien, aber wohin mit den CSS-/SASS-Dateien?