El diseño actual prioriza los temas populares, que por su naturaleza tienden a ser generales. Alguien que se encuentra con un 404 probablemente esté buscando algo específico. A falta de adivinar mágicamente qué era, parece que proporcionar prominentemente un cuadro de búsqueda sería ideal. Sé que está ahí abajo, pero… es difícil de encontrar.) ¿Hay alguna forma fácil de reorganizar esto?
Y ya que estamos, algo que se extienda por toda la página en lugar de la pequeña caja actual en la parte inferior.
También podría ser agradable pre-rellenar la búsqueda con algo construido a partir de la URL de no encontrado proporcionada. Pero no he pensado en todas las implicaciones de eso.
Creo que debería ser posible ocultando el componente page-not-found-search en la parte inferior con display: none y luego insertando el código del cuadro de búsqueda en la parte superior usando los puntos de conexión de complementos: Using Plugin Outlet Connectors from a Theme or Plugin
También podrías añadir algo de CSS para modificar el ancho del área de texto. Ten en cuenta que no he probado nada de esto realmente, solo lo he intentado directamente en la consola del navegador.
¿Puedes ayudarme a averiguar cuál debería ser el outlet adecuado aquí? He usado el concepto antes para agregar texto explicativo a la página de Badges, pero (deprecated) Plugin outlet locations theme component no parece funcionar en la página 404 y no puedo averiguar qué poner en el wrapper script.
Intenta añadir algo como esto en la pestaña Body, en un componente de tema:
<script type="text/javascript">
var x = document.getElementsByClassName("page-not-found");
var search = '<div class="page-not-found-search-top"><h2>Buscar en este sitio</h2><p></p><form action="/search" id="discourse-search"><input type="text" name="q" value=""><button class="btn btn-primary">Buscar</button></form><p></p></div>'
x.item(0).innerHTML += search
</script>
Puede que necesites hacer algunos ajustes con CSS, prueba:
Sí, sin complementos en la página 404 No encontrado, funciona de maravilla con tus instrucciones
Pega esto en la etiqueta BODY:
var x = document.getElementsByClassName("page-not-found");
var search = '<div class="page-not-found-search-top"><h2>Buscar en este sitio</h2><p></p><form action="/search" id="discourse-search"><input type="text" name="q" value=""><button class="btn btn-primary">Buscar</button></form><p></p></div>'
x.item(0).innerHTML += search
Esto funciona de maravilla. Es hora de que lo personalice un poco más.
Editar: Esto ha provocado errores en mi registro de errores.
TypeError: null is not an object (evaluating 'x.item(0).innerHTML') Url: https://mysite.com/theme-javascripts/33ba1ce8896576423974ff03c875fe32931690cc.js?__ws=mysite.com Line: 2
Al mirar los commits antiguos, ¿la posición de la barra de búsqueda parece ser algo que acaba de suceder? Heredado de donde solía estar la búsqueda de Google, que se agregó con el lanzamiento inicial de Discourse.
Estoy de acuerdo en que se ve mejor en la parte superior.