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 „Gefällt mir“

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 „Gefällt mir“

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

1 „Gefällt mir“

Sorry, I did not understand how you have it on a private forum…
It’s exactly what I need.

I think that I have the same problem - this would be great, but I need the pages to be visible to anon as I have a private site and want some static pages to be exposed to the public.

@joebuhlig - this has been asked a few times in this thread. Do you have any thoughts on it?

3 „Gefällt mir“

This shows up after I installed it.

image

Plus my /admin/plugins list was empty until I uninstalled it. So… Pls help ! :content:

2 „Gefällt mir“

+·1
you said what i want to say :joy:

Ich habe festgestellt, dass der Fehler durch die Verwendung von Discourse.Model verursacht wurde, das veraltet ist (ich glaube, es wurde in der aktuellen Version von Discourse vollständig entfernt, was den neuen Fehler erklärt).

Ich habe den Fehler behoben und einen Pull Request eingereicht:

Und es sieht so aus, als wäre er bereits gemergt worden … hurra! Du solltest den Plugin jetzt neu installieren können.

3 „Gefällt mir“

Ich glaube nicht, dass Joe seine Plugins aktuell noch pflegt. Jemand anderes muss einen PR erstellen.

Trotzdem arbeiten wir derzeit an einer Funktion für statische Seiten im Kern. Sie befindet sich noch in einem frühen Stadium, aber du kannst sie testen, indem du die Einstellung enable page publishing in deinen Site-Einstellungen aktivierst. Du kannst eine veröffentlichte Seite erstellen, indem du im Themenmenü auf die Post-Aktionen klickst (wähle den …-Button gefolgt vom Schraubenschlüssel-Button).

13 „Gefällt mir“

Es funktioniert tatsächlich! Danke :smiley:

2 „Gefällt mir“

:heart:

Oh! Endlich! Das ist wirklich großartig. Damit könnten viele Leute aufhören, WordPress zu nutzen. Oh, ja. Wirklich fantastisch.

:heart:

10 „Gefällt mir“

Das ist großartig – hast du Tipps, wie wir darauf für das Styling zugreifen können?

Ich schätze, es ist noch zu früh, zu viel Aufwand in das Design deines Forums zu stecken, da es sich noch in der Entwicklung befindet, aber aktuell ist alles vorhanden

4 „Gefällt mir“

Danke, Steven; nach einigem Ausprobieren lässt sich auf Foren, die eine Anmeldung erfordern, nicht verhindern, dass anonyme Nutzer sie sehen. Mist – genau das wollte ich eigentlich erreichen. Trotzdem ziemlich cool.

Es scheint, als gäbe es nur zwei Möglichkeiten, um statische Inhalte auch für nicht angemeldete Nutzer sichtbar zu machen:

  1. Das Forum weiterhin anmeldeschutzpflichtig lassen und die vorhandenen Tools nutzen:

    • /admin/customize/site_texts/login_required.welcome_message
    • /tos
    • /privacy
      oder
  2. Das Forum so einrichten, dass es nicht anmeldeschutzpflichtig ist (also öffentlich):

    • und die Sichtbarkeit jeder Kategorie und Gruppe streng kontrollieren
    • das vollständige Set /tos, /privacy, /about, /faq nutzen
    • beliebig viele statische Seiten über enable page publishing erstellen

Kennt jemand noch eine andere Möglichkeit (abgesehen von Seiten, die auf einer anderen Domain oder einem anderen Subdomain gehostet werden), dies zu erreichen?

4 „Gefällt mir“

Vollständige Anweisungen unter Page Publishing

1 „Gefällt mir“

Genau. Ich weiß, dass dieses Plugin hauptsächlich dazu dient, statische Seiten zu erstellen. Stellen wir uns jedoch vor, du erstellst eine Taschenrechner-Anwendung, die du auf der Seite einbinden möchtest. Der Taschenrechner benötigt eine Eingabe vom Benutzer. Der Code der Seite bleibt zwar statisch, würde das Ergebnis jedoch basierend auf der Benutzereingabe aktualisieren. Ist das mit diesem Plugin möglich, oder ist es besser, einfach eine externe HTML/CSS-Seite mit JS zu erstellen?

1 „Gefällt mir“

Ich möchte auf einer statischen Seite ein Widget eines Drittanbieters verwenden. Der JavaScript-Code dafür soll vor dem -Tag eingefügt werden. Gibt es eine Möglichkeit, dies nur auf dieser speziellen statischen Seite umzusetzen? Vielen Dank für Ihre Hilfe!

Ich teile nur, wie ich das Ausführen eines Skripts für statische Seiten erreicht habe:

<script type="text/discourse-plugin" version="0.8">
    const { setDefaultHomepage } = require('discourse/lib/utilities');
    const user = api.getCurrentUser();
    if(!user) {
        setDefaultHomepage('/page/welcome/1/'); // <--- Homepage-URL festlegen
    }
    api.onPageChange((url, title) => {
        if(url.indexOf("/page/welcome") === 0) {
            // Aktionen für diese statische Seite ausführen
        }
    });
</script>

Nur zur Klarstellung: Das Festlegen der Seite als Homepage ist beim Ausführen des Skripts völlig optional. Ich wollte lediglich zeigen, dass dies ebenfalls möglich ist :+1:

4 „Gefällt mir“

Danke!
Weißt du, wie man externe Skripte (nicht von derselben Domain) für eine statische Seite verwendet?
Es erscheint immer:
Content Security Policy: Die Einstellungen der Seite haben das Laden einer Ressource an Inline („script-src“) blockiert. Quelle: (function injectedScript() {...

Allgemein gesprochen – was ist der beste Weg, z. B. einen Webshop ohne iframe einzubetten?
Code-Beispiel:

<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 „Gefällt mir“

Ich möchte diese Anfrage gerne wieder aufgreifen. Das Plugin ist großartig, aber wenn man eine solche Seite teilt, werden immer nur die Standard-Metadaten angezeigt. Es wäre schön, wenn man Titel, Beschreibung und ein benutzerdefiniertes Bild angeben könnte. Wird das Plugin noch aktiv weiterentwickelt, oder sollte dies eher in die Kategorie Marketplace? Danke!