Пользовательская домашняя страница для групп

PR приветствуются. Напишите мне в личные сообщения, если у вас есть бюджет.

2 лайка

Привет, Джей, почему этот компонент добавляет ?_discourse_homepage_rewrite=1 в конец URL страницы, на которую он перенаправляет?

И еще, почему он отображает более сложный URL (например, mysite.com/t/blahblahblah/2343?_discourse_homepage_rewrite=1), а не просто mysite.com?

1 лайк

Я не знаю! Не понимаю, почему это происходит. Никто из тех, у кого есть бюджет, не жаловался, но я постараюсь разобраться.

1 лайк

Предупреждение для любителей (как я): это чувствительно к регистру. Мне потребовался час тестирования, чтобы понять, почему это не работало.

2 лайка

Всегда копируйте и вставляйте!

3 лайка

Было бы отличным решением сделать это регистронезависимым. Для меня это стало настоящим открытием, когда я узнал, как внедрить регистронезависимость в свои запросы к Data Explorer!!!

2 лайка

Я думаю, что это достаточно просто сделать, но я не буду это исправлять, если только не исправляю что-то ещё.

3 лайка

Кажется, этот обходной путь сейчас не работает. Ссылка с главной страницы на внешний URL пермалинка, которую я настроил на тестовом сайте, перестала работать уже какое-то время назад. Сам пермалинк работает, но функция главной страницы теперь ведет на страницу «ошибка» для настройки карты группы. У меня пока не было времени разобраться, почему это сломалось, но, вероятно, где-то произошло изменение в ядре. :thinking:

2 лайка

Привет
У меня проблема с открытием экрана полного чата: когда я нажимаю кнопку полноэкранного чата, веб-сайт вылетает.
Мои настройки выглядят так:


Думаю, URL полноэкранного чата несовместим с URL главной страницы.

1 лайк

Что произошло?

1 лайк


Как видите, страница не отображается в начале; после клика появляется несколько верхних панелей, но ничего больше.
Когда я не перехожу в полноэкранный режим чата с главной страницы кастомного приложения, всё работает нормально.

2 лайка

Можем ли мы добавлять опубликованные тематические страницы в качестве пользовательских домашних страниц?

1 лайк

Можно попробовать, но я думаю, что это должно сработать.

В последнее время у меня возникли проблемы с этим компонентом темы и боковой панелью администратора, на отладку которых у меня пока не было времени.

3 лайка

Привет!

Прежде всего, хочу сказать вам огромное спасибо за этот компонент темы. Он невероятно полезен, и я бы хотел, чтобы нечто подобное было встроено в Discourse.

Я заметил ошибку при установке главной страницы на категорию: если для категории установлено значение «Показать список подкатегорий», то список подкатегорий не отображается при первой загрузке страницы. Эта проблема не возникает, если нажать на логотип сайта или перейти в категорию напрямую.

Есть ли у вас какие-либо мысли о том, почему это может происходить? Я посмотрел исходный код, но ничего не показалось проблемным. Я предполагаю, что это какая-то тонкость в том, как отображаются эти подкатегории.

2 лайка

Привет, @Nathanael! Извини за это. Да, я заметил — хотя, кажется, проблема, которую я увидел, была связана с боковой панелью.

Она (пока!) не вызывала у меня настолько сильных неудобств, чтобы её исправлять, и никто не приводил веских причин для этого (деньги — очевидный вариант, но могут быть и другие). Думаю, ты первый, кто пожаловался, но, возможно, я просто забыл.

Если у тебя есть деньги или другая веская причина, мой адрес электронной почты указан в моём профиле пользователя. :slight_smile:

4 лайка

Привет @nathank

Похоже, что «пользовательская домашняя страница по умолчанию» не работает. Я тестировал с /latest?order=created, c/support/5 и некоторыми другими относительными URL-адресами.

Затем я проверил код. Мы нигде в коде не используем настройки custom_default_homepage или даже anon_page. Я использовал поиск по GitHub. Вот этот инициализатор:

      if (user) {
        if (user.primary_group_name && settings.group_page_map) {
          let groupMap = settings.group_page_map.replace(",", ":").split("|");
          const mapEntry = groupMap.find((value) =>
            RegExp(user.primary_group_name).test(value)
          );
          if (mapEntry) {
            const url = mapEntry.split(":")[1].replace(/^\/+/g, "");
            setDefaultHomepage(url);
            PreloadStore.remove("topic_list");
          }
        }
      }

Что-то упустил?

Обновление: я проверил последний коммит, и соответствующая логика удалена. Не знаю, почему, хотя.

2 лайка

Мне очень нужно, чтобы автор темы (OP) принадлежал мне, но я слежу за этой темой, так что, думаю, это не так уж важно.

Попробую посмотреть на это. Если у вас есть бюджет, я могу заняться этим более тщательно или быстрее. :wink:

4 лайка

*случайно машет своей волшебной палочкой

Готово! :woman_mage:

Уверена, Нейтан не будет против :wink:

5 лайков

У меня это работает, я только что обновился. РЕДАКТИРОВАНИЕ: Ой! Я проверил только сопоставления групп!

Какие настройки вы использовали для Group page map?

Это что-то вроде этого? todo-users:/c/projects/19?

Кроме того, в этом примере это работает только для пользователей, у которых todo-users является основной группой.

4 лайка

Карта группы у меня работает нормально, но остальные настройки, похоже, сломаны.
Например, у меня это не работает:

Как отметил @mrmowji, эти настройки больше не используются в коде, но всё ещё присутствуют в settings.yml.

3 лайка