Ciao, ero su stable, ora sull’ultima versione esr, e sembra che non ci sia più un layout mobile/desktop esplicitamente selezionabile? Non vedo più l’interruttore nell’angolo in basso a sinistra della barra laterale, e ?mobile_view=1 / ?mobile_view=0 non ha più alcun effetto. Ora passa dalla modalità desktop con la barra laterale e il menu hamburger a sinistra alla modalità mobile senza barra laterale e con il menu a destra semplicemente ridimensionando orizzontalmente la finestra del browser desktop. Quindi ora è basato solo sulla larghezza del browser? In precedenza, consentiva di utilizzare il layout mobile semplificato su uno schermo tablet più grande, se desiderato, o in alternativa consentiva di utilizzare la modalità desktop (con maggiori dettagli nell’elenco degli argomenti, ad esempio) su un telefono più piccolo o una finestra del browser stretta per gli utenti che lo preferivano.
È corretto: ci siamo mossi verso la semplificazione dei nostri layout per renderli correttamente reattivi, poiché è uno standard di progettazione più ampiamente accettato utilizzare un punto di interruzione sensibile alla larghezza. Abbiamo anche riscontrato che è più semplice da mantenere, e un layout basato sulla larghezza si integra bene anche con altri elementi di progettazione esterni, come quando si integrano banner condivisi tra un sito principale e un forum.
Uno degli svantaggi di questo approccio è che non è possibile eseguire logica specifica del dispositivo in un inizializzatore.
Un classico esempio è l’impostazione di una homepage diversa per dispositivi mobili rispetto al desktop: ora non è possibile farlo.
Secondo me, questo richiederà un approccio molto più dinamico al modo in cui vengono creati i modelli.
Grazie per la risposta. In linea di principio ha senso, ma in pratica è un po’ un problema per gli utenti più esperti/frequenti. Come ho menzionato, c’è molta meno informazione visibile nell’elenco degli argomenti quando si è in modalità layout ridotto, specialmente quando si usa qualcosa come Sam's Simple Theme, quindi alcuni preferivano forzare esplicitamente il layout desktop, e questo si adattava ancora correttamente per adattarsi orizzontalmente senza traboccare.
Ci sono limiti a ciò che si può fare in questo modo che abbiamo rimosso con i nuovi metodi: determinare le capacità all’avvio è piuttosto inflessibile, se qualcosa cambia dovremmo ricaricare l’intera pagina.
Questo è utile perché i dispositivi sono meno prevedibili ora: i telefoni possono aprirsi in tablet, i laptop possono convertirsi in tablet, è possibile collegare una tastiera e un mouse a così tante cose…
Sembra diverso se si è abituati al vecchio modo, ma qualsiasi cosa si stesse facendo in un inizializzatore è probabilmente ancora possibile e più reattiva alle capacità mutevoli.
È possibile, ora è più granulare e si mostra/nasconde condizionalmente il contenuto all’interno dello stesso template invece di sostituire l’intero. Ad esempio, ora abbiamo un oggetto viewport nel nostro servizio di capacità…
In un template…
{{#if this.capabilities.viewport.lg}}
Contenuto per schermi grandi
{{/if}}
{{#if this.capabilities.viewport.sm}}
Contenuto per schermi molto piccoli
{{/if}}
o in JS…
get myContent() {
if (this.capabilities.viewport.sm) {
return "contenuto breve";
} else {
return "il contenuto molto molto lungo"
}
}
e poi in CSS è possibile allinearsi con gli stessi punti di interruzione come…
@use "lib/viewport";
.my-element {
font-size: 1em;
@include viewport.until(sm) {
font-size: 2em;
}
}
Certo, sono a conoscenza di queste sostituzioni.
Tuttavia, non vedo l’ora di vedere modelli come questo utilizzati in modo più fondamentale.
Ad esempio, se la mia homepage è Categorie su Desktop, vedo un Elenco Argomenti.
Un Elenco Argomenti dovrebbe anche essere mostrato su Mobile, per così dire… attualmente si perde l’elemento Elenco Argomenti.
Questo è il motivo per cui esisteva il TC Forza Homepage Mobile…
Spero di essere chiaro…
Sì, ha senso, penso che implementeremo gradualmente modifiche di supporto come questa… è solo complicato quando abbiamo costruito così tanto usando i vecchi metodi e dobbiamo supportarli in un modo che non interrompa immediatamente la personalizzazione.