ProCourse Static Pages

I’ve been doing freelance Discourse customization as my primary gig for almost a year at this point. And one of the most common questions I get is about static pages. “Can I just create a static sales page?” “Where’s a good place to put a FAQ without a discussion around it?”

You can likely argue the validity of these questions in most scenarios. The main response being “just close the topic.” But that doesn’t cut it for most. Thus, I decided to create this plugin to make it possible.

It’s pretty simple. You get a backend under Admin > Plugins to create, edit, and delete these pages as you like. It uses the same topic composer we’re used to. Once you have the page built, you can Enable it and share the link to the page wherever you like.

For a demo: LINK IS DEAD.

I should also note that styling is made easier with a class static-page in the wrapping div for the whole page. That way you can do whatever you want to the body of the page from a CSS standpoint in a theme.

46 Me gusta

¡Gracias por el genial complemento!

Una pequeña solicitud de SEO: Sería genial tener campos adicionales para el título de la página y una descripción para completar el título y la meta descripción.

3 Me gusta

De acuerdo. También sería genial poder subir fotos.

1 me gusta

Lo siento, no entendí cómo lo tienes en un foro privado.
Es exactamente lo que necesito.

Pienso que tengo el mismo problema; esto sería genial, pero necesito que las páginas sean visibles para los anónimos, ya que tengo un sitio privado y quiero que algunas páginas estáticas estén expuestas al público.

@joebuhlig: esto se ha preguntado varias veces en este hilo. ¿Tienes alguna opinión al respecto?

3 Me gusta

Esto aparece después de que lo instalé.

Además, mi lista de /admin/plugins estaba vacía hasta que lo desinstalé. Así que… ¡Por favor, ayúdenme! :content:

2 Me gusta

+·1
dijiste lo que quiero decir :joy:

Determiné que el error se debía al uso de Discourse.Model, que ha sido obsoleto (creo que en la versión actual de Discourse ha sido eliminado por completo, de ahí el nuevo error).

He corregido el error y enviado una solicitud de extracción (Pull Request):

Y parece que ya fue fusionada… ¡wiii! Ahora deberías poder reinstalar el plugin.

3 Me gusta

No creo que Joe esté manteniendo sus complementos en estos días. Alguien más tendrá que crear un PR.

Dicho esto, actualmente estamos trabajando en una función de página estática en el núcleo. Aún está en sus primeras etapas, pero puedes probarla activando la configuración enable page publishing en la configuración de tu sitio. Puedes crear una página publicada abriendo el menú de acciones del post en un tema (selecciona el botón … seguido del botón de llave inglesa).

13 Me gusta

¡De hecho, sí funciona! Gracias :smiley:

2 Me gusta

:heart:

¡Oh! ¡Por fin! Esto es bastante genial. Esto podría ser suficiente para que un montón de personas dejen de usar WordPress. Oh. Sí. Qué fantástico.

:heart:

10 Me gusta

¡Esto es genial! ¿Tienes algún consejo sobre cómo acceder a ellas para aplicar estilos?

Supongo que es demasiado pronto para dedicar demasiado trabajo al diseño de tu foro, ya que está en desarrollo, pero por ahora todo está aquí

4 Me gusta

Gracias, Steven; tras probar un poco, parece que no es posible hacerlos visibles para usuarios anónimos en foros que requieren inicio de sesión. ¡Qué lástima! Eso es exactamente para lo que los quería. Aunque sigue siendo bastante genial.

Parece que la única forma de mostrar más contenido estático a usuarios no registrados es:

  1. Mantenerlo como requiere inicio de sesión y usar las herramientas existentes:
    • /admin/customize/site_texts/login_required.welcome_message
    • /tos
    • /privacy
      o
  2. Configurar el foro para que no requiera inicio de sesión (es decir, que sea público):
    • y controlar estrictamente la visibilidad de cada categoría y grupo
    • obtener el conjunto completo de /tos, /privacy, /about, /faq
    • crear tantas páginas estáticas como desee mediante enable page publishing

¿Alguien conoce otra forma (distinta a páginas alojadas en otro dominio o subdominio) de lograr esto?

4 Me gusta

Instrucciones completas en Page Publishing

1 me gusta

Esto. Sé que este complemento se utiliza principalmente para crear páginas estáticas. Sin embargo, supongamos que creas una aplicación de calculadora que deseas incluir en la página. La calculadora requiere una entrada del usuario. La página sigue teniendo código estático, pero actualizaría el resultado según la entrada del usuario. ¿Es esto posible con este complemento o es mejor simplemente crear una página HTML/CSS externa con JavaScript?

1 me gusta

Me gustaría usar un widget de un tercero en una página estática. El código JavaScript para esto debe insertarse antes de . ¿Existe alguna forma de lograrlo, pero solo en esta página estática en particular? ¡Gracias por su ayuda!

Solo comparto cómo logré ejecutar un script para las páginas estáticas:

<script type="text/discourse-plugin" version="0.8">
    const { setDefaultHomepage } = require('discourse/lib/utilities');
    const user = api.getCurrentUser();
    if(!user) {
        setDefaultHomepage('/page/welcome/1/'); // <--- establecer la URL de la página de inicio
    }
    api.onPageChange((url, title) => {
        if(url.indexOf("/page/welcome") === 0) {
            // hacer cosas para esta página estática
        }
    });
</script>

Solo una aclaración: establecer la página como página de inicio es totalmente opcional cuando se trata de ejecutar el script. Quería mostrar que también se puede hacer :+1:

4 Me gusta

¡Gracias!
¿Sabes cómo usar scripts externos (no del mismo dominio) en una página estática?
Siempre aparece:
Content Security Policy: La configuración de la página bloqueó la carga de un recurso en línea ("script-src"). Origen: (function injectedScript() {...

En términos generales, ¿cuál es la mejor manera de incrustar, por ejemplo, una tienda web sin usar un iframe?
Ejemplo de código:

<div id="my-store-<id>"></div> <div> <script data-cfasync="false" type="text/javascript" src="https://app.ecwid.com/script.js?<id>&data_platform=code&data_date=2020-12-20" charset="utf-8"></script><script type="text/javascript"> xProductBrowser("categoriesPerRow=3","views=grid(20,3) list(60) table(60)","categoryView=grid","searchView=list","id=my-store-<id>"); </script> </div>

1 me gusta

Me gustaría volver a plantear esta solicitud. El plugin es excelente, pero cada vez que compartes una página así, solo muestra los metadatos predeterminados. Sería genial si pudieras especificar el título, la descripción y una imagen personalizada. ¿El plugin sigue en desarrollo activo o sería mejor llevar esto a la categoría del mercado? ¡Gracias!