Да, именно это у меня и было. Спасибо, что обратили на это внимание.
В подмножестве SVG-икон вы указываете имя иконки FontAwesome, которую ищете, а затем в меню, где вы добавляете кнопки в заголовок, используете тот же синтаксис. Для иконки пользователя вам достаточно, например, написать “user”.
Мне удалось настроить открытие ссылок в новой вкладке с помощью этого скрипта. Просто добавьте следующий код в секцию «Head».
<script>
document.addEventListener("DOMContentLoaded", function() {
const links = document.querySelectorAll(".custom-header-link.with-url");
links.forEach(link => {
link.addEventListener("click", function(e) {
e.preventDefault();
e.stopPropagation();
const titles = {
"Documentation": "Введите URL здесь",
"Downloads": "Введите URL здесь",
"Source Code": "Введите URL здесь",
"Dev Portal": "Введите URL здесь",
"Slack Channel": "Введите URL здесь"
};
const url = titles[this.getAttribute("title")];
if (url) {
window.open(url, '_blank');
}
});
link.setAttribute("href", "#");
});
});
</script>
Надеюсь, это поможет!
Возможно ли иметь другой вид, когда заголовок сайта свернут и отображается заголовок текущей темы (при прокрутке темы вниз)?
Я заметил, что выпадающий заголовок по-прежнему отлично выглядит и имеет смысл на широких экранах, но не на маленьких. Поэтому использование display: none было бы полезно, и это уже реализовано на десктопе при max-width: 712px.
Спасибо и приветствия. ![]()
Есть ли способ показывать только заголовок выпадающего списка на мобильных устройствах?
Я пробовал следующее:
/* Стили по умолчанию — скрыть кнопки заголовка */
.header-buttons {
display: none;
visibility: hidden;
}
/* Медиа-запрос для мобильных устройств */
@media screen and (max-width: 767px) {
.header-buttons {
display: inline; /* или display: inline-block; в зависимости от вашей верстки */
visibility: visible;
}
}
Это работает, но всё остальное в заголовке (например, GitHub - discourse/discourse-header-search · GitHub) всё ещё сжимается, как будто выпадающий заголовок всё ещё присутствует…
Что я упускаю?
Спасибо.
Скорее всего, ваша настройка была перезаписана.
Вам не нужен visibility — вы можете сделать так:
.header-buttons {
display: none !important;
}
Вопрос об использовании функций безопасности:
Если вы используете эту функцию, возможно ли иметь более одной группы безопасности с доступом к меню?
Наш пример: мы проводим несколько образовательных программ (с несколькими годовыми/классными группами для каждой программы). У каждой классной группы есть своя группа безопасности, чтобы мы могли предоставить им доступ к нужным образовательным ресурсам (без возможности доступа к ресурсам, предназначенным для другой программы/учебного года). При этом каждая годовая группа имеет уникальную категорию для своего класса.
Мне нужно создать меню, чтобы каждая классная группа могла получить доступ к своей категории, но при этом я также должен предоставить доступ к этим пространствам нашей образовательной команде (которая не входит в группы безопасности студентов).
На данный момент я вижу только два решения:
- Создать группу безопасности, объединяющую сотрудников и каждую классную группу (это неудобно, так как я хотел бы упростить работу с группами безопасности, а не усложнять её).
- Дублировать меню: одно для студенческой группы, другое для группы сотрудников.
Ни одно из этих решений не кажется идеальным.
Следующий вопрос: а что насчет добавления функций безопасности к элементам подменю?
(В моём примере это означало бы, что я мог бы использовать одно меню для всех различных групп курсов/классов, а затем показывать студентам только соответствующие элементы подменю. В то время как на данный момент мне приходится управлять примерно 5–6 основными меню).
Я бы порекомендовал вам поискать альтернативы этому компоненту темы, так как он не подходит для вашего случая использования.
Могу ли я предложить вместо этого просто добавить категории классов в настройку сайта default_navigation_menu_categories?
Как администратор, вы увидите их все (хотя вы можете персонализировать этот вид), но ваши участники классов и сотрудники должны видеть только те, к которым у них есть доступ на боковой панели.
Если я правильно понял вашу проблему, это будет работать для вас довольно хорошо.
Привет, Нейтан,
Мы настроили наши категории. Но нам также нужно меню в верхней части страницы. Пользователи привыкли к верхним меню — а сообщества и так представляют собой сложную кривую обучения (мы не здесь, чтобы создавать для наших студентов целую новую технологическую вселенную).
Кроме того, это не работает, потому что нам нужно иметь возможность добавлять в меню ссылки на внешние сайты (особенно на наши сайты SharePoint, которые используются, так как в Discourse нет структурированной библиотеки), а категории этого не позволяют.
Честно говоря, было бы проще, если бы можно было разрешить нескольким группам безопасности просматривать меню (так же, как мы разрешаем нескольким группам безопасности доступ к категории). Но если это невозможно, нам придется придумать что-то другое.
@merefield Высота кнопок входа зависит от заголовка выпадающего меню
Это проблема возникает только при использовании links position со значением right.
Я больше не поддерживаю этот проект, поэтому пометил его как unmaintained.
Однако вы можете отправить pull-запрос, и я его рассмотрю. Если у вас лично нет времени или навыков, но вы хотите, чтобы кто-то исправил проблему и у вас есть бюджет, разместите сообщение в Marketplace.
Это тоже вызывает у меня проблему. Я посмотрел, но, к сожалению, это слишком сложно для моих простых CSS-хаков.
Я создал PR для модернизации компонента. (спонсор: @davidkingham) ![]()
По пути я также исправил несколько проблем с UX, которые заметил.
Компонент можно улучшить ещё больше. Возможно, я сделаю новый PR в другой раз. Вот несколько моментов, которые я отметил:
- Заменить тип настройки
json_schemaна типobjects - Добавить опцию для открытия ссылки в новой вкладке
- Улучшить доступность
Спасибо @Arkshine — отличная работа!
Я вижу эту фатальную ошибку на сайте, использующем этот компонент темы ![]()
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'trim')
at get source (custom-icon.gjs:20:24)
...
О. Я создал PR для исправления этой проблемы; спасибо за сообщение!
Объединено! ![]()
Отличный компонент и прекрасная работа — спасибо за ваши усилия и профессионализм! Я заметил, что выпадающее меню в настоящее время поддерживает один уровень вложенности: основной заголовок и подпункты (например, Заголовок → Ссылки). Можно ли добавить ещё один уровень, чтобы структура выглядела так: Заголовок → Подпункт → Ссылки?
@angus Я открыл PR для обновления устаревшего имени иконки Font Awesome, которое я обнаружил:
Спасибо @kelv ![]()
Это должно работать в Horizon, или нужно что-то изменить?
Этот плагин обязателен для сообществ, у которых есть блог и/или дополнительные связанные приложения.
