Tema creado Orden

:information_source: Resumen Añade una columna de fecha de creación ordenable a la lista de temas
:eyeglasses: Vista previa \u003chttps://discourse.theme-creator.io/theme/Alteras/created-topic-sort\u003e
:hammer_and_wrench: Repositorio GitHub - Alteras1/discourse-created-topic-sort: Discourse theme component adds topic sorting by created date
:question: Guía de instalación Cómo instalar un tema o componente de tema
:open_book: ¿Nuevo en Temas de Discourse? Guía para principiantes para usar Temas de Discourse

Instalar este componente de tema

Esto añade una columna de fecha de creación ordenable a la lista de temas. También añade una pestaña opcional “Creado” a la barra de navegación.

En la vista de escritorio, se añade una columna completa. En móvil, la fecha de creación solo se añade en línea con la fecha de actividad cuando se selecciona la ordenación “Creado” (ver capturas de pantalla a continuación).

\u003e :information_source: Antes de usar este componente, puede ser bueno evaluar la necesidad de su comunidad de conocer la fecha de creación. Ya existe una forma integrada para marcar automáticamente los temas recién creados dentro de un cierto período de tiempo (personalizable por los usuarios en Preferencias \u003e Seguimiento \u003e Temas).

Configuración

Habilitar elemento de barra de navegación Ordenar por fecha de creación

Añade un elemento de barra de navegación “Ordenar por fecha de creación” al menú de navegación. Predeterminado: true

Capturas de pantalla

Escritorio

Móvil

Habilitar columna solo en el filtro de fecha de creación

Evita que la columna de fecha de creación se muestre fuera del filtro de fecha de creación. Requiere que “Habilitar elemento de barra de navegación Ordenar por fecha de creación” sea verdadero. Predeterminado: false

Habilitar elemento de barra de navegación en la página de inicio

Añade el elemento de barra de navegación “Ordenar por fecha de creación” en la página de inicio. Predeterminado: true

Habilitar columna en la página de inicio

Añade la columna “Creado” en la página de inicio. Predeterminado: true

Categorías para mostrar el elemento de barra de navegación

Lista de categorías para mostrar en el elemento de barra de navegación “Ordenar por fecha de creación”. Dejar vacío para mostrar en todas las categorías. Predeterminado: vacío

Categorías para mostrar la columna Creado

Lista de categorías para mostrar la columna “Creado”. Dejar vacío para mostrar en todas las categorías. Predeterminado: vacío

Elemento de barra de navegación Anterior

Ajusta la posición del elemento de barra de navegación en la lista. Predeterminado: top.

Capturas de pantalla

Ordenación


Vista móvil

Con Categoría y Etiquetas

Compatibilidad y notas

En móvil, la funcionalidad de ordenación ya está muy limitada, por lo que la fecha de creación solo funcionaría como información. El campo adicional solo aparece si la fecha de creación es diferente de la fecha de publicación.

La compatibilidad con Miniaturas de lista de temas es limitada. En estilo de lista, funcionará normalmente. En estilo de blog, la fecha de creación se traslada a la parte inferior derecha. En estilo de cuadrícula y mosaico, la fecha de creación solo es visible cuando se selecciona el filtro “Creado” y reemplaza la fecha de actividad. En estilo mínimo, la fecha de creación está oculta.

16 Me gusta

¡Vaya, otro plugin perfecto que cambia el foro! Sería genial si pudiera integrarse con el plugin Discourse Nav Item Icon / Emoji.

3 Me gusta

Creo que debería funcionar. :slight_smile:
Simplemente agrégalo, por ejemplo:
emoji:created_date:twitter:spiral_calendar:filter

4 Me gusta

¡Confirmo que añadir la configuración como la tiene Don funciona!


5 Me gusta

¡Muy bien! Desafortunadamente, no funciona bien con el TC de Miniaturas de Temas, añade una hora extra por alguna razón:

Nota la hora extra de 7h en la parte inferior del centro.

Parece que puedo simplemente ocultar este .topic-list .topic-list-data:last-of-type, pero pensé que te lo haría saber :grin:

EDITAR: Encontré otra rareza, cuando hago clic en Últimos, resalta Creado, y cuando hago clic en Creado, resalta Últimos :zany_face:

1 me gusta

Vaya. Eso es interesante. Parece que es solo un efecto secundario extraño de cómo las Miniaturas de Temas y la Ordenación de Temas Creados se añaden a las plantillas al mismo tiempo. ¿Podría ser un problema con el modo masonry y grid? Veré si puedo hacer un ajuste adecuado en el CSS en lugar de simplemente ocultarlo, una vez que descubra una forma limpia de detectar el uso del componente de tema.
El resaltado para lo último y lo creado suena muy raro. Lo creado solo debería resaltarse cuando la URL tiene /latest?order=created en ella… mmm…

He actualizado algunos de los componentes para hacerlos más bonitos (o al menos para que coincidan) con el componente Topic Thumbnails.

En el estilo de blog, la fecha de creación se traslada a la parte inferior derecha. No pude encontrar una forma limpia de colocarla justo al lado de la fecha de actualización, así que esto tendrá que servir. En el estilo de cuadrícula y mampostería, la fecha de creación solo es visible cuando se selecciona el filtro “Creado” y reemplazará la fecha de actividad. Intenté que la fecha de actividad y la fecha de creación se mostraran al mismo tiempo, pero hizo que la tarjeta se sintiera abarrotada. En el estilo mínimo, la fecha de creación está oculta.

¿Sería difícil añadir un ámbito de categoría a esto? Nos encantaría tenerlo en nuestra sección de anuncios, pero no necesitamos que se muestre en nuestras discusiones generales, etc.

1 me gusta

¡En absoluto! Acabo de lanzar una actualización que añade cuatro nuevas configuraciones para ayudar a controlar dónde se muestran el elemento de la barra de navegación y la columna.

  • Habilitar elemento de la barra de navegación en la página de inicio: Añade el elemento de la barra de navegación “Ordenar por fecha de creación” en la página de inicio.
  • Habilitar columna en la página de inicio: Añade la columna “Creado” en la página de inicio.
  • Categorías para mostrar el elemento de la barra de navegación: Lista de categorías para mostrar en el elemento de la barra de navegación “Ordenar por fecha de creación”. Deja vacío para mostrar en todas las categorías.
  • Categorías para mostrar la columna creada: Lista de categorías para mostrar la columna “Creado”. Deja vacío para mostrar en todas las categorías.

Sin embargo, ten en cuenta que las restricciones para mostrar la columna solo funcionan en sitios que utilizan los nuevos cambios en la lista de temas.

2 Me gusta

¡Muchas gracias! :star_struck: ¡Esto es increíble!

¿Hay alguna forma de hacer que esta sea la página de inicio predeterminada? He visto que algunos complementos agregan opciones a la configuración del sitio “Menú superior”, así que creo que es posible.

Luego, podría reemplazar efectivamente el “Último” estándar ocultando ese con CSS.

La página de inicio predeterminada se puede establecer con un poco de JS:

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

Añadir la opción a la configuración del Menú Superior es definitivamente preferible, pero no creo que haya una forma de hacerlo desde un TC (Theme Component), al menos por lo que revisé la última vez. Tendré que ver si algo ha cambiado mientras tanto.

1 me gusta

¡Gracias! Eso debería funcionar, pero añade %3F_discourse_homepage_rewrite a la URL, lo que interfiere con la clasificación. :confounded_face:

2 Me gusta

Pude solucionar eso haciendo setDefaultHomepage("latest?order=created&");
Pero ahora el problema es que, aunque todos los indicadores lo dicen, la clasificación real no se aplica.

Así que probé la misma URL usando Custom Homepage for Groups y eso funcionó :tada: No estoy seguro de por qué la redirección de ese componente funcionaría de manera diferente, ya que estoy bastante seguro de que utiliza el mismo método.

2 Me gusta

Lo descubrí, necesitaba borrar el PreloadStore

Así que uno puede editar tu tema predeterminado o un nuevo componente para agregar esto 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");
});

y este CSS para eliminar la pestaña Latest:

li.nav-item_latest {
    display: none;
}

Ojalá pudiera quedarse en la URL de la página de inicio raíz, pero eso probablemente requerirá un plugin.

3 Me gusta

Terminé creando ese plugin: Created as Default Sort Order
Así que mi página de inicio se ordena limpiamente por fecha de creación. Todavía uso este componente para agregar la columna.

4 Me gusta

¡Gracias por este gran componente temático!

He realizado una PR muy pequeña y simple que permite configurar dónde aparece el elemento de la barra de navegación.

2 Me gusta

¡Gracias por el PR! Lo he fusionado y actualizado la descripción de la configuración en el OP.

1 me gusta