Текущий дизайн отдаёт приоритет популярным темам, которые по своей природе обычно носят общий характер. Пользователь, столкнувшийся с ошибкой 404, вероятно, ищет что-то конкретное. Если не угадать магическим образом, что именно, то идеальным решением кажется выделение поисковой строки на видном месте. Я знаю, что она есть внизу, но… найти её довольно сложно.) Есть ли простой способ это изменить?
И пока мы об этом, было бы здорово сделать поисковую строку на всю ширину страницы, а не оставлять крошечное поле внизу.
Также возможно, было бы неплохо автоматически заполнять поиск строкой, составленной из отсутствующего URL. Но я ещё не продумал все последствия такого решения.
Думаю, это возможно: скрыть компонент page-not-found-search внизу с помощью display: none, а затем вставить код поля поиска вверху, используя точки расширения плагинов: Using Plugin Outlet Connectors from a Theme or Plugin
Также можно добавить немного CSS, чтобы изменить ширину текстового поля. Обратите внимание, что я не тестировал это всерьёз — просто попробовал напрямую в консоли браузера.
Можете помочь понять, какой правильный outlet нужно использовать здесь? Я уже применял эту концепцию, чтобы добавить пояснительный текст на страницу значков, но (deprecated) Plugin outlet locations theme component, похоже, не работает на странице 404, и я не могу понять, что именно нужно указать в обёртке script.
Это работает отлично. Пора немного доработать его под себя.
Редактирование: Из-за этого в мой журнал ошибок стали попадать сообщения об ошибках.
TypeError: null is not an object (evaluating 'x.item(0).innerHTML') Url: https://mysite.com/theme-javascripts/33ba1ce8896576423974ff03c875fe32931690cc.js?__ws=mysite.com Line: 2
Судя по старым коммитам, положение строки поиска, похоже, возникло случайно? Оно унаследовано от места, где раньше была строка поиска Google, которая была добавлена при первоначальном выпуске Discourse.