Creata discussione Ordina

:information_source: Riepilogo Aggiunge una colonna ordinabile per data di creazione all’elenco degli argomenti
:eyeglasses: Anteprima \u003chttps://discourse.theme-creator.io/theme/Alteras/created-topic-sort\u003e
:hammer_and_wrench: Repository GitHub - Alteras1/discourse-created-topic-sort: Discourse theme component adds topic sorting by created date
:question: Guida all’installazione Come installare un tema o un componente del tema
:open_book: Nuovo ai temi di Discourse? Guida per principianti all’uso dei temi di Discourse

Installa questo componente del tema

Questo aggiunge una colonna ordinabile per data di creazione all’elenco degli argomenti. Aggiunge anche una scheda opzionale “Creato” alla barra di navigazione.

Nella vista desktop, viene aggiunta un’intera colonna. Su mobile, la data di creazione viene aggiunta solo in linea con la data di attività quando viene selezionato l’ordinamento “Creato” (vedi screenshot qui sotto).

\u003e :information_source: Prima di utilizzare questo componente, potrebbe essere utile valutare la necessità della tua community di conoscere una data di creazione. Esiste già un modo integrato per segnalare automaticamente gli argomenti appena creati entro un certo periodo di tempo (personalizzabile dagli utenti in Preferenze \u003e Tracciamento \u003e Argomenti).

Impostazioni

Abilita elemento barra di navigazione Ordina per data di creazione

Aggiunge un elemento “Ordina per data di creazione” al menu di navigazione. Predefinito: true

Screenshot

Desktop

Mobile

Abilita colonna solo con filtro data di creazione

Impedisce la visualizzazione della colonna data di creazione al di fuori del filtro Data di creazione. Richiede che “Abilita elemento barra di navigazione Ordina per data di creazione” sia true. Predefinito: false

Abilita elemento barra di navigazione nella pagina iniziale

Aggiunge l’elemento “Ordina per data di creazione” nella barra di navigazione della pagina iniziale. Predefinito: true

Abilita colonna nella pagina iniziale

Aggiunge la colonna “Creato” nella pagina iniziale. Predefinito: true

Categorie in cui visualizzare l’elemento barra di navigazione

Elenco di categorie da visualizzare nell’elemento barra di navigazione “Ordina per data di creazione”. Lasciare vuoto per visualizzare in tutte le categorie. Predefinito: vuoto

Categorie in cui visualizzare la colonna Creato

Elenco di categorie in cui visualizzare la colonna “Creato”. Lasciare vuoto per visualizzare in tutte le categorie. Predefinito: vuoto

Elemento barra di navigazione Precedente

Regola la posizione dell’elemento barra di navigazione nell’elenco. Predefinito: top.

Screenshot

Ordinamento


Vista mobile

Con Categoria e Tag

Compatibilità e Note

Con il mobile, la funzionalità di ordinamento è già molto limitata, quindi la data di creazione funzionerebbe solo come informazione. Il campo aggiuntivo appare solo se la data di creazione è diversa dalla data di “bump”.

La compatibilità con Miniature elenco argomenti è limitata. Nello stile elenco, funzionerà normalmente. Nello stile blog, la data di creazione viene spostata in basso a destra. Nello stile griglia e muratura, la data di creazione è visibile solo quando è selezionato il filtro “Creato” e sostituirà la data di attività. Nello stile minimale, la data di creazione è nascosta.

16 Mi Piace

Wow, un altro plugin perfetto che cambia il forum! Sarebbe fantastico se potesse integrarsi con il plugin Discourse Nav Item Icon / Emoji.

3 Mi Piace

Penso che dovrebbe funzionare. :slight_smile:
Basta aggiungerlo come, ad esempio:
emoji:created_date:twitter:spiral_calendar:filter

4 Mi Piace

Confermo che l’aggiunta dell’impostazione come ha fatto Don funziona!


5 Mi Piace

Molto bello! Sfortunatamente non funziona bene con il TC Topic Thumbnails, aggiunge un’ora in più per qualche motivo:

Nota l’ora in più di 7 ore in fondo al centro.

Sembra che possa semplicemente nascondere questo .topic-list .topic-list-data:last-of-type ma ho pensato di farti sapere :grin:

EDIT: Ho trovato un’altra stranezza, quando clicco su Latest, evidenzia Created, e quando clicco su Created evidenzia Latest :zany_face:

1 Mi Piace

Interessante. Sembra essere solo un effetto collaterale anomalo di come i Miniature dell’argomento e l’ordinamento per argomento creato si aggiungono contemporaneamente ai modelli. Potrebbe essere solo un problema con la modalità masonry e grid? Vedrò se riesco a fare un aggiustamento adatto nel CSS invece di nasconderlo, una volta che avrò capito un modo pulito per rilevare l’utilizzo del componente del tema.

L’evidenziazione per l’ultimo e il creato suona davvero strana. Il creato dovrebbe essere evidenziato solo quando l’URL contiene /latest?order=created… hmm…

Ho aggiornato alcuni componenti per renderli più belli (o almeno per farli corrispondere) al componente Topic Thumbnails.

Nello stile blog, la data di creazione viene spostata in basso a destra. Non sono riuscito a trovare un modo pulito per farla stare accanto alla data di aggiornamento, quindi questo dovrà bastare. Nello stile griglia e muratura, la data di creazione è visibile solo quando è selezionato il filtro “Creato” e sostituirà la data di attività. Ho provato a visualizzare sia la data di attività che la data di creazione contemporaneamente, ma questo ha reso la card troppo affollata. Nello stile minimale, la data di creazione è nascosta.

Sarebbe difficile aggiungere uno scope di categoria a questo? Ci piacerebbe averlo nella nostra sezione annunci ma non abbiamo bisogno che venga visualizzato nelle nostre discussioni generali, ecc.

1 Mi Piace

Niente affatto! Ho appena rilasciato un aggiornamento che aggiunge quattro nuove impostazioni per aiutare a controllare dove vengono visualizzati l’elemento della barra di navigazione e la colonna.

  • Abilita elemento barra di navigazione nella home page: Aggiunge l’elemento della barra di navigazione “Ordina per data di creazione” nella home page.
  • Abilita colonna nella home page: Aggiunge la colonna “Creato” nella home page.
  • Categorie per visualizzare l’elemento della barra di navigazione: Elenco di categorie in cui visualizzare l’elemento della barra di navigazione “Ordina per data di creazione”. Lasciare vuoto per visualizzare in tutte le categorie.
  • Categorie per visualizzare la colonna creato: Elenco di categorie in cui visualizzare la colonna “Creato”. Lasciare vuoto per visualizzare in tutte le categorie.

Tuttavia, tieni presente che le restrizioni sulla visualizzazione della colonna funzionano solo nei siti che utilizzano le nuove modifiche all’elenco degli argomenti.

2 Mi Piace

Grazie mille! :star_struck: È fantastico!

C’è un modo per renderla la home page predefinita? Ho visto alcuni plugin aggiungere opzioni all’impostazione del sito “Menu principale”, quindi penso che sia possibile.

Quindi potrei effettivamente sostituire l’impostazione standard “Latest” nascondendola con CSS.

La homepage predefinita può essere impostata con un po’ di JS:

import { setDefaultHomepage } from "discourse/lib/utilities";
setDefaultHomepage("/latest?order=created");

Aggiungere l’opzione alle impostazioni del menu in alto è sicuramente preferibile, ma non credo ci sia un modo per farlo da un TC, almeno da quello che ho controllato l’ultima volta. Dovrò vedere se nel frattempo qualcosa è cambiato.

1 Mi Piace

Grazie! Questo dovrebbe funzionare, ma aggiunge %3F_discourse_homepage_rewrite all’URL, il che interferisce con l’ordinamento. :confounded_face:

2 Mi Piace

Sono riuscito a risolvere il problema impostando setDefaultHomepage("latest?order=created&");
Ma ora il problema è che, anche se tutti gli indicatori lo suggeriscono, l’ordinamento effettivo non viene applicato.

Quindi ho provato lo stesso URL usando Custom Homepage for Groups e quello ha funzionato :tada: Non sono sicuro del perché il reindirizzamento di quel componente funzioni diversamente, dato che sono abbastanza sicuro che utilizzi lo stesso metodo.

2 Mi Piace

l’ho capito, doveva svuotare il PreloadStore

Quindi si può modificare il tema predefinito o un nuovo componente per aggiungere questo al JS:

import { apiInitializer } from "discourse/lib/api";
import { setDefaultHomepage } from "discourse/lib/utilities";
import PreloadStore from "discourse/lib/preload-store";

export default apiInitializer((api) => {
  setDefaultHomepage("latest?order=created&");
  PreloadStore.remove("topic_list");
});

e questo CSS per rimuovere la scheda Latest:

li.nav-item_latest {
    display: none;
}

Vorrei che rimanesse sull’URL della homepage principale, ma probabilmente ci vorrà un plugin.

3 Mi Piace

Ho finito per creare quel plugin: Created as Default Sort Order
Quindi la mia home page è ordinata in modo pulito per data di creazione. Uso ancora questo componente per aggiungere la colonna.

4 Mi Piace

Grazie per questo fantastico componente del tema!

Ho creato una PR PR molto piccola e semplice che consente di configurare dove appare l’elemento della barra di navigazione.

2 Mi Piace

Grazie per la PR! L’ho unita e ho aggiornato la descrizione delle impostazioni sull’OP.

1 Mi Piace