Archivo Explosivo: constructr-cms.org

100 Commits bei Constructr CMS

Wo ist der Sekt… das wird gefeiert!

Constructr CMS Update / Bugfix

Ein kleines Problem beim Logout wurde mit diesem Bugfix/Update behoben. Constructr CMS läuft übrigens wie Schmidt’s Katze unter PHP 7.

ConstructrCMS – Grundsätzliche Antworten zu beliebten Fragen / FAQ

Etwas zu den grundsätzlichen Fragen zur Entwicklung von Internetseiten mit ConstructrCMS…

  • Brauche ich eine Template-Datei, oder brauche ich zwei, oder vielleicht sogar drei Template-Dateien für eine Internetseite mit ConstructrCMS?
  • Alles kann und nichts muss. Wenn jede einzelne Seite identisch aufgebaut sein soll, reicht selbstverständlich eine einzige Template-Datei, die jeder angelegten Seite zugewiesen wird… aber das macht doch keinen Spaß!

    Die Startseite ist immer etwas Besonderes… aber das Impressum doch nicht. Warum also nicht ein Hammer-Template für die Startseite erstellen und ein ganz zartes, kleines für die Seite Impressum. Im Impressum reicht ein einziger Bereich den wir mit Hilfe der beliebten ConstructrCMS SmartTags „mappen“ (mappen=zuweisen und mit der Eingabe aus einem einzigen – aber auch mehreren – Inhaltselementen befüllen).

    Benennt die Templates ruhig so, wie sie eingesetzt werden sollen: startseite.html für die Darstellung der Startseite, impressum.html für die Darstellung der Seite Impressum und so weiter…

    Oft macht es ja auch keinen Sinn, für jede Seite ein einziges Template zu verwenden: Wir haben eine Startseite mit Texten und Bildern, wir haben unser Impressum – dort reicht reiner Text aus und jetzt stellen wir uns einfach vor, wir möchten noch eine kleiner Galerie mit unseren Urlaubsbildern erstellen… Es macht keinen Sinn das LazyLoad-Javascript zu implementieren, oder das Lightbox-Javascript für die Vollbildansicht. Ladezeiten werden immer wichtiger und unnötiger Code sollte bei der Entwicklung von Internetseiten immer eine Rolle spielen. Binden wir die entsprechenden Javascript-Dateien nur auf der Galerie-Seite ein, sparen wir uns auf der Startseite und auf der Seite Impressum ein paar KB und Millisekunden.

    Ich sage also immer: Das richtige Template für den richtigen Zweck! Es können beliebig viele verschiedene Template-Dateien angelegt werden. Nur bitte keine Leerstellen und Sonderzeichen verwenden: startseite.html geht als Template-Name absolut in Ordnung – meine galerie von sáint tropez.html ist ein böser Name – galerie.html reicht hier vollkommen aus!

ConstructrCMS - verschiedene EInstellungen

ConstructrCMS – Grundsätzliche Antworten zu beliebten Fragen / FAQ

Etwas zu den grundsätzlichen Fragen zur Entwicklung von Internetseiten mit ConstructrCMS…

  • Brauche ich unbedingt ein Template?
  • Ja,… Nein,… nicht unbedingt… Eine Template-Datei wird in jedem Fall benötigt. Das Template wird bei der Erstellung der Seite benötigt. Grundsätzlich kann es sich dabei aber um eine leere HTML-, oder PHP-Datei handeln – Hauptsache ConstructrCMS ist zufrieden und lässt uns so die grundsätzliche Seitenstruktur anlegen. Aber was fangen wir nun mit ConstructrCMS an? Wir haben unsere Seitenstruktur mit den zugewiesenen Inhaltselementen… Wenn wir die Seiten aber im Browser anschauen, stellen wir fest, das nichts angezeigt wird. Warum wird nichts angezeigt?

    Richtig: Im Template fehlen die Anweisungen ( ConstructrCMS SmartTags ), die beim aufrufen der Internetseiten dafür sorgen, das die Inhalte die in der Datenbank vorhanden sind, dargestellt werden können. Der Browser sendet eine Anfrage an die index.php-Datei im Root-Verzeichnis der Installation von ConstructrCMS und verarbeitet die Rückgabe dieser Datei. Wenn hier mit einem leeren Template gearbeitet wird, wird auch nichts angezeigt.

    Auf den Browser-Request, wird also ein leerer Response geliefert. ConstructrCMS hat alles getan, was ihm angewiesen wurde – binde ein Template ohne Inhalt in die Seite XYZ ein und stelle dieses bei Aufruf im Browser dar… Check, abgehakt, erledigt…

    Natürlich könnte man sich jetzt auch Szenarien überlegen, wo so etwas einen Sinn ergibt: Wir möchten die Eingabe und Pflege unserer Inhalte vollständig von der Ausgabe trennen – installieren ConstructrCMS in einem nicht-öffentlichen Teil des Webservers und regeln die Ausgabe dieser Inhalte über eine extra Schicht an öffentlicher Stelle auf dem Webserver… oder greifen nur mit einer anderen API auf die Inhalte in der angeschlossenen Datenbank zu… oder möchten die Inhalte einfach nur für uns behalten und niemals öffentlich zeigen…;-)

    Der absolute Normalfall ist aber selbstverständlich: Ja, wir haben ein Template mit einer gewissen Grundstruktur an HTML und den beliebten ConstructrCMS SmartTags um die Inhalte auszugeben. Das Template kann eine HTML-Datei sein, oder eine PHP-Datei mit zusätzlicher Logik.

ConstructrCMS – Ausgabe komprimierter Internetseiten

Mit der neuen Version von heute, sind die Optionen:

– CSS komprimieren (betrifft das CSS der Seiteneigenschaften)
– Javascript komprimieren (betrifft das Javascript der Seiteneigenschaften)
– HTML komprimieren

standardmäßig eingeschaltet. Ein zusätzlicher HTML5-Compressor für das Entfernen nicht mehr benötigter Ende-Parameter bei diversen HTML-Elementen, ist standardmäßig deaktiviert – kann aber über eine kleine Änderung in der ROOT/index.php aktiviert werden – einfach die Kommentare in der index.php-Datei beachten.

Wenn man also – im Idealfall – das benötigte CSS und Javascript beim anlegen einer Seite eingetragen hat – oder selbstverständlich auch später hinzugefügt hat – wird die Ausgabe vollständig bereinigt und komprimiert ausgegeben. Die eingaben werden zur einfachen späteren Bearbeitung selbstverständlich nicht komprimiert. Ist das ConstructrCMS-Cache-.System aktiviert, wird die komprimierte Ausgabe in die entsprechende Cache-Datei geschrieben.

Sollten Probleme bei der Ausgabe auffallen, kann die Komprimieren auch vollständig in der ROOT/index.php deaktiviert werden (siehe oben).

ConstructrCMS

Constructr CMS – Die neuen Features

Mit dem letzten Update haben sich ein paar Dinge geändert. Anstelle des im F3-Framework enthaltenen Markdown-Parser’s für das umwandeln der Inhalte in HTML für die Ausgabe auf den Internetseiten, habe ich den Markdown Extra-Parser von Michel Fortin in ConstructrCMS integriert. Damit stehen nun eine ganze Menge neuer Optionen für Inhalte zur Verfügung. Am spannendsten finde ich die Möglichkeit Klassen und ID’s zu vergeben. Dies habe ich zum Beispiel bei der Einbindung von Grafiken und Galerien eingebaut.

Im Content-Editor von ConstructrCMS hat sich dadurch der Markdown-Code ein wenig geändert – aber das läuft alles automatisch im Hintergrund ab. Entfallen sind die Parameter für die Bildgröße bei Einbau eines Bildes, dafür werden nun Platzhalter für die CSS-ID und -Klasse gesetzt. Hierdurch vereinfacht sich die Darstellung von Bildgruppen als Galerie enorm. Entsprechende ID’s und Klassen können somit nämlich ganz wunderbar in Javascript und CSS weiterverarbeitet werden.

Eine ganz neue Funktion betrifft den Einbau von Links der eigenen bereits angelegten und aktivierten Seiten in Inhaltselementen. Direkt neben dem Link der Uploads hat man nun auch die Möglichkeit, sich eine Liste aller aktiven Seiten anzeigen zu lassen. Ein Link zur gewünschten Seite wird mit einem Klick auf den dargestellten Markdown-Code in der aktuellen Cursor-Position im Inhaltselement eingefügt (der selbe Mechanismus, wie zum Beispiel beim Einbau von Bildern).

Beim anzeigen der Liste aller verfügbaren Uploads, findet sich nun am Ende einer jeden Zeile eine neue Checkbox (Spalte Mehrfachauswahl). Mit dieser Checkbox, kann man das Bild zum Einbau in das Inhaltselement vormerken – ein Klick auf den Button „BILDER ÜBERNEHMEN“, baut alle markierten Bilder gleichzeitig in das Inhaltselement ein.

Wenn man die Bilder nun in ein bestimmtes Container-Element einbauen möchte, kann man die eingefügten Bilder zum Beispiel mit einem DIV-CONTAINER umschließen:

Das Attribut markdown=“1″ signalisiert dem Parser, das der eingeschlossene Bereich als Markdown behandelt werden soll.

ConstructrCMS - verschiedene EInstellungen

ConstructrCMS – Constructr SmartTag’s

Nachfolgend eine Liste aller ConstructrCMS SmartTag’s die in Template-Dateien verwendet werden können:

{{@ CONSTRUCTR_BASE_URL @}}
The BaseUrl of ConstructrCMS for internal link-building.

{{@ PAGE_ID @}}
The ID (constructr_pages / constructr_pages_id) of actual page.

{{@ PAGE_TEMPLATE @}}
The template-file (ROOT/THEMES/) of actual page.

{{@ PAGE_NAME @}}
Name of actual page.

{{@ PAGE_CONTENT_RAW @}}
Markdown content of actual page.

{{@ PAGE_CONTENT_HTML @}}
HTML content of actual page.

{{@ PAGE_CSS @}}
Additional CSS of actual page (corresponding input value of page-creation-form).

{{@ PAGE_JS @}}
Additional JS of actual page (corresponding input value of page-creation-form).

{{@ PAGE_NAVIGATION_UL_LI @}}
The HTML for an unordered list menu.

{{@ PAGE_NAVIGATION_UL_LI_CLASSES( CLASS_FIRST_UL, CLASS_FOLLOWING_UL, CLASS_INACTIVE_LI, CLASS_ACTIVE_LI ) @}}
The HTML for an unordered list menu with corresponding classes for ul- and li-elements.

{{@ CONSTRUCTR_PAGE_TITLE @}}
MetaTitle of actual page.

{{@ CONSTRUCTR_PAGE_KEYWORDS @}}
MetaKeywords of actual page.

{{@ CONSTRUCTR_PAGE_DESCRIPTION @}}
MetaDescription of actual page.

{{@ CONSTRUCTR_MAPPING( LEFT_CONTENT ) @}}
The content-element mapped to the corresponding placeholder (LEFT_CONTENT).

{{@ FIRST_LEVEL_NAV @}}
The HTML for an unordered list menu for all first-level-pages.

{{@ SECOND_LEVEL_NAV @}}
The HTML for an unordered list menu for all second-level-pages.

{{@ THIRD_LEVEL_NAV @}}
The HTML for an unordered list menu for all third-level-pages.

{{@ SUBNAV_PAGE @}}
The HTML for an unordered list menu for all sub-pages of actual page.

ConstructrCMS - oneCol Template

ONECol Template – ConstructrCMS

Ein neues Template liegt ab sofort allen Downloads auf GitHub bei – oneColTpl.php!

ConstructrCMS - oneCol Template

ConstructrCMS - Markdown & HTML

ConstructrCMS – Spezialfälle in Inhaltselementen

In Spezialfällen, z.B. wenn Bilder im Inhaltsbereich eine feste ID, oder Klasse mitgegeben werden soll, besteht auch immer die Möglichkeit reines HTML im Inhalts-Editor einzugeben. Der eingebaute Markdown-Parser versteht den eingegebenen HTML-Code.

ConstructrCMS - Markdown & HTML

Das Inhaltselement kann also auch in einer Mischung von Markdown und HTML in der Datenbank gespeichert werden.

ConstructrCMS - SplitView

SplitView in Inhalts-Übersicht / ConstructrCMS

Ab sofort gibt es in der Administrations-Oberfläche von ConstructrCMS die Möglichkeit schon im Backend eine Vorschau der eingegebenen und bereits vorhandenen Inhalte anzeigen zu lassen.

ConstructrCMS - SplitView

Gesteuert wird die Möglichkeit über das Optionsfeld zwischen der Überschrift und der Liste der vorhandenen Inhalte. Standardmäßig ist die Vorschau abgeschaltet – lässt sich aber mit einem Mausklick anschalten.

1 2 3