Different landing page for desktop vs mobile theme?

No worries. I should have linked to instructions here too! There is a nice illustrated set of instructions you can check out here. It’s possible you might be on the latest version of Discourse, in which case the UX for themes and components has changed a little. Let me know if the instructions I linked to still leave you a little lost. I’d be happy to help you figure it out.

By the way, the topic below is the home of this theme component now:

2 лайка

thanks @tshenry i’ll take a look.

however I’ve just fiddled round with the customization settings - I’ve never had an issue before, and now my site has disappeared!! Just produces a blank screen, but the code is there!!

any idea how to reverse changes from the cli???

cheers

You’ll need to go to your site’s safe mode Air Cadet Central and check “disable current theme” then you’ll want to revert whatever change you made in the customizations.

2 лайка

thanks fella - didn’t know that existed! Lifesaver!

1 лайк

OK back up and working - thanks again - I’ve installed your theme and it’s installing as a Theme not a Theme Component??? any ideas. I’m on Version: v2.1.0.beta5 +66

cheers, and thanks for your hard work :smiley:

No problem. If you select it from the list of themes, then scroll down, you should see a section like this:

You’ll want to click the “make component” button then confirm. You should then be able to add it to your main theme the way it’s outlined in the instructions I linked to earlier.

Fab, getting there! Making it a component works, but when I add it to my theme it adds a component with the others but there’s no text for the link, but the (x) button is there. The link it produces ends in a # where the others don’t??
and it doesn’t seem to work!!

Cheers

Ah yeah, I think that might be a little bug that’s still getting worked out. Try refreshing the page, then click the (x) if that blank theme component is still there, then try selecting the Force Mobile Homepage component again. You might also try selecting another theme component from the dropdown list, then open the list again and select the Force Mobile Homepage component again. Click the “add” button and hopefully that should do it!

3 лайка

You are indeed a hero - now working as advertised! Many thanks for your help today, greatly appreciated!

1 лайк

Yes, I’ve come across this several times. Has this been reported I wonder?

I don’t know - I haven’t - but @tshenry 's suggestion of moving in and out of the drop down menu after a page reload worked.

1 лайк

Nice one! thanks @tshenry :heart:

1 лайк

Есть ли причины не объединить ваш скрипт со следующим в разделе Настройка → Темы → Мобильная версия → Заголовок?

<script>
  if (window.location.pathname == "/")
  {   window.location.href = "/latest";
  }
</script>

Это обеспечит начальное перенаправление на /latest, если пользователь попадает на главную страницу.

1 лайк

Нет, особой причины нет. Тем не менее, я больше не использую этот скрипт. С добавлением возможности выбора домашней страницы пользователем я просто предлагаю тем, кто предпочитает /latest, выбрать её.

1 лайк

Изначально я нашел эту тему, когда искал решение своей проблемы:

Как объясняется в теме, я настроил свой форум так, чтобы отображались категории + последние сообщения, поскольку хочу показывать не только последние обсуждения на рабочем столе. Вот два параметра Discourse, которые делают такой макет возможным:

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

Для всех, кто читает это и хочет сделать то же самое, вот что нужно сделать:

  1. Перейдите в раздел Редактировать CSS/HTML вашей темы:

  2. Добавьте следующий скрипт в раздел МобильныеЗаголовок (так чтобы он влиял только на посетителей с мобильных устройств):

    Вот сам скрипт, чтобы вы могли его скопировать и вставить:

    <script>
        if (window.location.pathname == "/")
        {   window.location.href = "/latest";
        }
    </script>
    
    <script type="text/discourse-plugin" version="0.4">
        api.changeWidgetSetting('home-logo', 'href', '/latest')
    </script>
    

Обновление: Компонент темы Принудительная мобильная главная страница, на который есть ссылка выше, вероятно, является лучшим способом решить эту задачу.

10 лайков

Возможно ли реализовать эту функцию для каждого пользователя отдельно? Например, чтобы каждый пользователь мог выбрать свою стартовую страницу на мобильных устройствах в настройках интерфейса (там уже есть общая настройка, нам понадобится только отдельная для мобильных устройств).

3 лайка

У меня сейчас та же проблема: на рабочем столе я предпочитаю вид категорий, где последнее обсуждение отображается справа. На мобильных устройствах вид категорий показывает только сами категории. На мобильных я бы предпочел вид «последние изменения в обсуждениях».

Было бы здорово иметь две настройки:

  • домашняя страница по умолчанию на рабочем столе: [поле выбора]
  • домашняя страница по умолчанию на мобильных устройствах: [поле выбора]

Можно ли будет принять PR с такой доработкой?

7 лайков

Может ли это быть также настройкой на уровне устройства? Предложенные выше обходные пути не идеальны, поскольку они навязывают настройку всем мобильным пользователям (при этом планшеты в этом отношении сложно классифицировать). И вполне очевидно, что часто может иметь смысл иметь разные предпочтения в зависимости от устройства, а не только различие между настольными компьютерами и мобильными устройствами.

1 лайк

Это лучшее изобретение после колеса! Спасибо, брат!

1 лайк

Мне бы очень хотелось иметь такие же настройки… Есть ли способ это сделать?