Я новичок в Discourse и в мире open source в целом. Я не программист (за исключением HTML/CSS), но обычно интуитивно понимаю, как скопировать и вставить код из одного места в другое, чтобы элемент появился в другом месте. Это примерно всё, что я планирую делать с кастомизацией, кроме того, что уже можно сделать в настройках.
Есть пользовательское поле, которое я создал, и я хочу, чтобы оно отображалось прямо под именем пользователя на карточке профиля, а не в обычном месте ниже стандартных полей. У меня очень небольшая задача по кастомизации, но она поднимает более общий вопрос: как получить доступ к теме/коду?
Пытаясь ответить на этот (крайне простой) вопрос, я, кажется, нашёл файл, связанный с кодом, который мне нужно изменить в моей локальной установке: discourse/app/assets/javascripts/discourse/templates/components/user-card-contents.hbs. Однако я выбрал хостинг для своего нового форума через discourcehosting.com, поэтому не уверен, как редактировать этот файл, когда у меня нет доступа к файлам.
Извините за такой простой вопрос и за то, что, возможно, выгляжу глупо. Но обещаю, что намерения у меня добрые.
Спасибо за ссылку, maiki. Я обещаю, что за последние несколько дней я пересматривал это руководство дюжину раз, чтобы убедиться, что не упускаю ничего очевидного. Я понимаю, как и где получить доступ к настройкам стиля и кода в head/body и т.д., но, думаю, мне нужна ясность в том, является ли то, что я планирую сделать, по сути созданием «новой темы» (когда на самом деле я просто хочу немного изменить расположение элементов в нескольких случаях).
Мне удалось внести изменения в локальный файл discourse/app/assets/javascripts/discourse/templates/components/user-card-contents.hbs, чтобы добиться желаемого результата. Просто не уверен, как редактировать этот файл, если я не использую собственный хостинг…
а затем скопировать содержимое вашего изменённого файла между этими тегами script.
Прямое редактирование файлов Discourse: а) невозможно на нашем хостинге, б) вообще не рекомендуется, так как это полностью сломает ваш сайт при обновлении. Описанный выше метод — правильный способ, независимо от того, используете ли вы наш хостинг или нет!
Если вы просто хотите добавить одно поле пользователя в карточку пользователя, рассмотрите возможность использования точки расширения плагина (plugin outlet), о которой рассказывается чуть выше в той же статье и здесь. Метод с точками расширения плагина требует меньше изменений в коде, что обеспечит лучшую совместимость при обновлении. Однако он менее гибкий, так как требует наличия доступной точки расширения плагина для ваших нужд.