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 Mi Piace

Thanks for the cool plugin!

A small SEO request: It would be great to have extra fields for the page title and a description to fill the title and meta description.

3 Mi Piace

Agreed. Also the ability to upload pictures would be great.

1 Mi Piace

Scusa, non ho capito come l’abbia impostato su un forum privato..
È esattamente quello di cui ho bisogno.

Credo di avere lo stesso problema: sarebbe ottimo, ma ho bisogno che le pagine siano visibili agli anonimi, dato che ho un sito privato e voglio esporre alcune pagine statiche al pubblico.

@joebuhlig - questa domanda è stata posta diverse volte in questa discussione. Hai qualche pensiero da condividere a riguardo?

3 Mi Piace

Questo appare dopo averlo installato.

Inoltre, la mia lista /admin/plugins era vuota fino a quando non l’ho disinstallato. Quindi… Aiuto per favore! :content:

2 Mi Piace

+·1
hai detto quello che volevo dire :joy:

Ho determinato che l’errore è causato dall’uso di Discourse.Model, che è stato deprecato (credo che nella versione attuale di Discourse sia stato rimosso completamente, da qui il nuovo errore).

Ho corretto l’errore e ho inviato una Pull Request:

Sembra che sia già stata unita… evviva! Dovresti ora poter reinstallare il plugin.

3 Mi Piace

Non credo che Joe stia mantenendo i suoi plugin in questi giorni. Qualcun altro dovrà creare una PR.

Detto questo, stiamo attualmente lavorando a una funzionalità di pagina statica nel core. È ancora nelle fasi iniziali, ma puoi provarla abilitando l’impostazione enable page publishing nelle impostazioni del tuo sito. Puoi creare una pagina pubblicata aprendo il menu delle azioni del post su un argomento (seleziona il pulsante … seguito dal pulsante a chiave inglese).

13 Mi Piace

In realtà funziona! Grazie :smiley:

2 Mi Piace

:heart:

Oh! Finalmente! È davvero ottimo. Questo potrebbe essere sufficiente perché molte persone smettano di usare WordPress. Oh. Sì. Così fantastico.

:heart:

10 Mi Piace

È fantastico: hai qualche consiglio su come accedervi per lo stile?

Immagino sia troppo presto per dedicare troppo lavoro al design del tuo forum, dato che è ancora in fase di sviluppo, ma per ora tutto è disponibile qui:

4 Mi Piace

Grazie, Steven; dopo un po’ di prove, non è possibile renderli visibili agli anonimi nei forum che richiedono il login. Peccato: è proprio per quello che volevo usarli. Comunque, è comunque piuttosto figo.

Sembra che l’unico modo per rendere visibile più contenuto statico agli utenti non registrati sia:

  1. mantenere il requisito di login e utilizzare gli strumenti esistenti:
    • /admin/customize/site_texts/login_required.welcome_message
    • /tos
    • /privacy
      oppure
  2. rendere il forum tale che non richieda il login (cioè pubblico)
    • e controllare strettamente la visibilità di ogni categoria e gruppo
    • ottenere l’intera suite /tos, /privacy, /about, /faq
    • creare quante pagine statiche si vuole tramite enable page publishing

Qualcuno conosce un altro modo (a parte le pagine ospitate su un altro dominio o sottodominio) per ottenere questo risultato?

4 Mi Piace

Istruzioni complete su Page Publishing

1 Mi Piace

Esatto. So che questo plugin serve principalmente a creare pagine statiche. Tuttavia, supponiamo di realizzare un’applicazione calcolatrice che si desidera inserire nella pagina. La calcolatrice richiede un input dall’utente. La pagina mantiene il codice statico, ma aggiornerebbe il risultato in base all’input dell’utente. È possibile farlo con questo plugin o è meglio creare una pagina HTML/CSS esterna con JavaScript?

1 Mi Piace

Vorrei utilizzare un widget di terze parti su una pagina statica. Il JavaScript per questo dovrebbe essere inserito prima di </body>. Esiste un modo per farlo solo su questa specifica pagina statica? Grazie per l’aiuto!

Condivido solo come sono riuscito a eseguire uno script per le pagine statiche:

<script type="text/discourse-plugin" version="0.8">
    const { setDefaultHomepage } = require('discourse/lib/utilities');
    const user = api.getCurrentUser();
    if(!user) {
        setDefaultHomepage('/page/welcome/1/'); // <--- imposta l'URL della homepage
    }
    api.onPageChange((url, title) => {
        if(url.indexOf("/page/welcome") === 0) {
            // esegui azioni per questa pagina statica
        }
    });
</script>

Una precisazione: impostare la pagina come homepage è completamente opzionale quando si tratta di eseguire lo script; volevo solo mostrare che è possibile farlo anch’esso :+1:

4 Mi Piace

Grazie!
Sai come utilizzare script esterni (non provenienti dallo stesso dominio) per una pagina statica?
Compare sempre questo errore:
Content Security Policy: Le impostazioni della pagina hanno bloccato il caricamento di una risorsa inline ("script-src"). Origine: (function injectedScript() {...

In generale, qual è il modo migliore per incorporare, ad esempio, un negozio online senza usare un iframe?
Esempio di codice:

<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 Mi Piace

Vorrei riproporre questa richiesta. Il plugin è ottimo, ma ogni volta che si condivide una pagina del genere vengono mostrati solo i metadati predefiniti. Sarebbe fantastico se fosse possibile specificare il titolo, la descrizione e un’immagine personalizzata. Il plugin è ancora in sviluppo attivo o è meglio indirizzare questa richiesta alla categoria del marketplace? Grazie!