Ich muss etwas sehr Dummes tun, aber ich kann es nicht sehen. Ich hoffe, dass das Posten hier mich dazu bringt, es zu sehen, damit ich es löschen kann, bevor jemand anderes weiß, wie dumm ich bin.
„HELLO WORLD“ sollte auf der Homepage gerendert werden. Ich sehe „THIS IS THE HOMEPAGE“ in der Konsole. Ich weiß, dass es ausgelöst wird. Aber es ist nicht da.
Dann habe ich versucht, „Extra item“ hinzuzufügen, weil ich keine anderen Ideen hatte. Es wird auch nicht gerendert.
Ich habe Fehler erhalten, bevor ich die Datei in .gjs umbenannt habe, was ein weiterer Beweis dafür ist, dass sie die Datei beachtet und etwas bewirkt.
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer("1.8.0", (api) => {
// see if we're on the home page
api.onPageChange(() => {
const router = api.container.lookup("service:router");
const url = router?.currentURL;
const isHomePage = url === "/";
api.renderInOutlet("top-notices", <template>Extra item</template>);
if (isHomePage) {
console.log("THIS IS THE HOMEPAGE");
api.renderInOutlet("after-header", <template>HELLO WORLD</template>);
}
});
});
Oh, Baby! Ich wusste wirklich, was ein Service ist! Ich wusste wirklich, was ein Getter ist! Jetzt wird mein Text auf der Startseite und nicht auf einer anderen Seite (und vermutlich auf allen anderen!) gerendert.