Discourse rendert diesen Footer basierend auf bestimmten Bedingungen. Der Footer wird hier hinzugefügt.
showFooterNav ist hier definiert.
Wenn einer dieser Werte wahr ist, wird die Navigation angezeigt.
isiOSPWA() und isAppWebview() sind hier definiert:
Zum Beispiel sieht isAppWebview() so aus:
Sie können in Ihrem Theme – auf Ihrer Discourse-Website – eine zusätzliche Bedingung erstellen, um nach dem Cookie zu suchen, wie folgt:
const isWKWebView = () => {
// nach dem Cookie suchen und true zurückgeben, falls vorhanden
// oder eine andere Methode verwenden, um zu erkennen, ob der Benutzer Ihre Anwendung nutzt
}
Für andere Klassen könnten Sie normalerweise die showFooterNav()-Methode wie folgt ändern:
api.modifyClass("controller:application", {
pluginId: "show-footer-nav",
@discourseComputed
showFooterNav() {
// ...
}
});
Dies ist jedoch der Application-Controller, was bedeutet, dass er zwischengespeichert wird, bevor Ihr Code ausgeführt werden kann. Mit anderen Worten: Sie können die Klasse nicht ändern.
Trotzdem können Sie den Wert von showFooterNav mit etwas wie folgendem ändern:
<script type="text/discourse-plugin" version="0.8">
const isWKWebView = () => {
// prüfen und Ihre Bedingung zurückgeben
};
if (isWKWebView()) {
const applicationController = api.container.lookup("controller:application");
applicationController.set("showFooterNav", true);
}
</script>
entweder im Reiter „Header" Ihres Themes oder in einem Initialisierer, wenn Sie ein Remote-Theme verwenden.