Das aktuelle Design priorisiert beliebte Themen, die naturgemäß eher allgemein sind. Jemand, der auf eine 404-Seite stößt, sucht wahrscheinlich stattdessen nach etwas Bestimmtem. Abgesehen davon, dass man magisch errät, was das war, scheint es ideal zu sein, prominent ein Suchfeld anzubieten. Ich weiß, dass es unten vorhanden ist, aber… das ist irgendwie schwer zu finden.) Gibt es eine einfache Möglichkeit, dies neu anzuordnen?
Und während wir schon dabei sind, etwas, das sich über die Seite erstreckt, anstatt der aktuellen winzigen Box unten.
Es könnte auch schön sein, die Suche mit etwas vorab zu füllen, das aus der angegebenen Nicht-gefunden-URL erstellt wurde. Aber ich habe die vollen Auswirkungen davon noch nicht durchdacht.
\n\nIch denke, es sollte möglich sein, die Komponente page-not-found-search unten mit display: none auszublenden und dann den Code für das Suchfeld oben mit Plugin-Outlets einzufügen: https://meta.discourse.org/t/adding-to-plugin-outlets-using-a-theme/32727\n\nSie könnten auch etwas CSS hinzufügen, um die Breite des Textbereichs zu ändern. Beachten Sie, dass ich dies nicht wirklich getestet habe, ich habe es nur direkt in der Browserkonsole ausprobiert.\n\nDies ist der Code für das Suchfeld:\n\n<div class=\"row\">\n <div class=\"page-not-found-search-top\">\n <h2>Search this site</h2>\n <p>\n </p><form action=\"/search\" id=\"discourse-search\">\n <input type=\"text\" name=\"q\" value=\"\">\n <button class=\"btn btn-primary\">Search</button>\n </form>\n <p></p>\n </div>\n</div>\n
Können Sie mir helfen herauszufinden, was hier die richtige Steckdose sein sollte? Ich habe das Konzept zuvor verwendet, um der Badges-Seite erklärenden Text hinzuzufügen, aber (deprecated) Plugin outlet locations theme component scheint auf der 404-Seite nicht zu funktionieren und ich kann nicht herausfinden, was ich in den script-Wrapper einfügen soll.
Ja, keine Plugins-Outlets auf der 404-Seite nicht gefunden, funktioniert wie ein Zauber mit Ihren Anweisungen
Fügen Sie dies in den BODY-Tag ein:
var x = document.getElementsByClassName("page-not-found");
var search = '<h2>Search this site</h2><p></p><form action="/search" id="discourse-search"><input type="text" name="q" value=""><button class="btn btn-primary">Search</button></form><p></p>'
x.item(0).innerHTML += search
Das funktioniert wunderbar. Zeit für mich, es noch ein wenig anzupassen.
Bearbeiten: Dies hat dazu geführt, dass Fehler in mein Fehlerprotokoll eingetragen wurden.
TypeError: null ist kein Objekt (Auswertung von 'x.item(0).innerHTML') URL: https://mysite.com/theme-javascripts/33ba1ce8896576423974ff03c875fe32931690cc.js?__ws=mysite.com Zeile: 2
Durch die Betrachtung alter Commits scheint die Position der Suchleiste etwas zu sein, das gerade erst passiert ist? Übernommen von dort, wo sich früher die Google-Suche befand, die mit der ersten Veröffentlichung von Discourse hinzugefügt wurde.