Wie platziere ich einen Button in der Ecke des Bildschirms?

Hallo Community!

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:

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/lib/plugin-api.js

Du findest auch detailliertere Erklärungen zu einigen der beliebtesten Methoden dieser API hier:

Vielen Dank, ich werde mir die Methodenliste ansehen.
Das Screenshot:

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?

Schön :+1:

Da du erwähnt hast, dass du bereits Ruby-Dateien hast, gehe ich davon aus, dass du an einem Plugin arbeitest, oder?

Also, um deine Frage zu beantworten:

Ich empfehle dir, die Ordnerstruktur einiger unserer bestehenden offiziellen Plugins anzusehen, wie zum Beispiel dieses:

oder dieses:

Wenn du dir diese ansiehst, wirst du feststellen, dass die SCSS-Stylesheets immer in

_ROOT_/assets/stylesheets/

platziert werden. Und genau dorthin sollten auch deine SCSS-Dateien gehören, wenn du ein Plugin erstellst.