Ocultar/insertar contenido en la página de inicio

He creado una página de inicio personalizada:
a) añadiendo la clase .custom-homepage a la página de destino. La uso para apuntar simplemente al contenido que quiero ocultar/ajustar en esa página específica a través de mi CSS personalizado.
b) añadiendo cualquier componente nuevo directamente en el archivo head del HTML personalizado de mi tema predeterminado.

Así es como se ve:

<script type="text/discourse-plugin" version="0.8">
    
  api.registerConnectorClass("above-main-container", "custom-homepage", {

    setupComponent(args, component) {

     var topMenuRoutes = 
        component.siteSettings.top_menu.split('|')
        .map(function(route) {return '/' + route});
      
     // La primera página listada en la configuración 'top_menu' es tu página de inicio
     var homeRoute = topMenuRoutes[0];
  
     // Esto llama a nuestro código cada vez que la página cambia
     api.onPageChange((url) => {

        // Comprueba si estamos en la página de inicio 
        if (url === "/" || url === homeRoute ){ 
          // Si es la página de inicio, añade la clase 'custom-homepage' a la etiqueta HTML
          // y establece 'displayCustomHomepage' a true
          
          document.querySelector("html").classList.add("custom-homepage"); 
          component.set("displayCustomHomepage", true); 
        } else {  
          // Si no estamos en la página de inicio, elimina la clase
          // y establece `displayCustomHomepage` a false
          document.querySelector("html").classList.remove("custom-homepage"); 
          component.set("displayCustomHomepage", false); 
        }
      });
    }
    
  });

</script>


<script type="text/x-handlebars" data-template-name="/connectors/above-main-container/custom-homepage">

  {{#if displayCustomHomepage}}

    <div class="custom-homepage-wrapper mask-polygon">

       <div class="custom-welcome-banner">
        <h1 class="welcome-header-text">Välkommen till Sveriges idéburna byggrörelse</h1>
        <p>Här kan du se färdiga och planerade projekt, hitta kunskap, få råd - och få kontakt med andra som bygger och bor ihop över hela landet.</p>
       </div>
       
    </div>
    
    {{whos-online}}
    
    {{search-menu}}

<div class="two-column-layout">

  <div>
   (Mi propio código para la imagen del mapa está aquí, te ahorraré los detalles)
  </div>
       	

  <WANTED DIV>
  (Aquí es donde quiero poner mi feed, quizás algo como {{categories-topic- list topics=latest filter=“latest” limit=“10” … }})
  </WANTED DIV>

</div>
    
  {{/if}}
</script>

Hasta ahora todo bien. La página se ve así:

El problema es que no tengo ningún control sobre el feed actual. Es simplemente el feed predeterminado al que he apuntado aproximadamente el ancho y la posición en mi CSS personalizado con .custom-homepage + class para dejar espacio al mapa de la izquierda. Actualmente es infinito, por ejemplo. Necesito que solo muestre, digamos, las últimas 10 publicaciones.

Mi pregunta es:

  • ¿Qué clase debo ocultar para ocultar el feed actual?
  • ¿Cuál es la sintaxis correcta para añadir mis últimas publicaciones en mi propio código en su lugar? Por favor, mira la sección ‘WANTED DIV’ en el código de arriba.

Sitio en vivo: https://bygg.boihop.co/

Muchas gracias por cualquier ayuda.

Te recomendaría que en su lugar utilices el modificador custom-homepage para añadir una ruta de página de inicio dedicada a tu página: Usando la nueva función de página de inicio personalizada.

Luego puedes construir tu página de inicio de un enfoque modular limpio. Puedes añadir componentes en el código de tu tema. O podrías probar un componente como Homepage Blocks y añadir componentes a través de su editor.

Aquí tienes dos ejemplos recientes de sitios que construí con la ruta de página de inicio personalizada y bloques. Podrías inspeccionar el código para ver la estructura resultante. La página de inicio de Zolidar también ofrece un ejemplo de cómo puedes utilizar las consultas de contenedor y un diseño de cuadrícula en la página de inicio, para que tengas un mejor control sobre el diseño de tu página de inicio.

3 Me gusta

¡Gracias por este consejo! Se ve genial. Hasta que tenga la oportunidad de probarlo, ¿conoce alguna manera de limitar en la configuración cuántas publicaciones tiene la fuente ‘últimas’ actual? No puedo encontrarlo por más que lo intento.

Las listas de temas son generalmente listas interminables que se extienden al desplazarse hasta el final. No estoy seguro de cuál sería la solución más fácil… Probablemente simplemente ocultaría la lista predeterminada en la página de inicio y usaría un componente como Listas destacadas. Luego tienes control sobre la longitud de la lista, etc., sin meterte con el comportamiento de la lista predeterminada.

3 Me gusta

¡Gracias!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.