Produkt-Updates 
Alle Neuerungen auf einen Blick.

Erfahre, welche neuen Funktionen, Verbesserungen und Fehlerbehebungen wir am Cloudrexx CMS umgesetzt haben.

Neue Funktionen

Die neue Option Bestellschritt Bestellbestätigung überspringen (unter Shop > Stammdaten > Erweiterte Einstellungen) ermöglicht eines verkürzten Bestellvorgang durch Überspringen des Bestellschritts Bestellbestätigung.

Die neuen Filter-Bedingungen is_set und not_set erlauben die bedingte Anzeige der Daten basierend darauf, ob ein Formularfeld gesetzt ist oder nicht.

Mit dem neuen Widget func_page_updated_date(<FORMAT>) kann der Aktualisierungszeitpunkt einer Seite ausgegeben werden.

Mit dem neuen Widget func_page_created_date(<FORMAT>) kann der Erstellungszeitpunkt einer Seite ausgegeben werden.

Für Veranstaltungen mit Anmeldefunktion kann nun zusätzlich zur maximalen Teilnehmerzahl auch eine Mindestanzahl an Teilnehmern definiert werden.

Der Platzhalter {SHOP_PRODUCT_MAXIMUM_ORDER_QUANTITY} zur Ausgabe der maximalen Bestellmenge eines Artikels steht nun auch im Warenkorb zur Verfügung.
Top-Issue

Mit den neuen Widgets func_shop_checkout_cart(), func_shop_checkout_account() und func_shop_checkout_payment() können die entsprechenden Bereiche auf einer beliebigen (oder derselben) Inhaltsseite integriert werden.

Das globale Widget func_shop_product() steht nun zur Verfügung. Siehe Platzhalterverzeichnis - Shop.

Der Block zur Anzeige der Eintragsdaten <!-- BEGIN/END mediadir_inputfield_<ID>[_<LABEL>] --> unterstützt nun die bedingte Ausgabe über die optionale Bezeichnung _<LABEL>. Als _<LABEL> kann eine Filter-Bedingung nach dem Schema <comparison>_<value> definiert werden. Die verfügbaren Filter-Möglichkeiten sind im Platzhalterverzeichnis dokumentiert.

Mit der neuen Template Funktion func_nl2br(<content>) können Zeilenumbrüche in <content> angezeigt werden.

Als Argumente zu Callback-Widgets wie func_mediadir_entry() werden nun Template-Platzhalter unterstützt.

Mit der neuen Option Anmeldeschluss kann nun ein individuelles Anmeldeschluss-Datum gewählt werden - unabhängig vom Beginn einer Veranstaltung.

Gutscheine können nun gültig für alle, ein bestimmtes oder neu auch eine Gruppe von Produkten ausgestellt werden.

Der ContentManager wurde überarbeitet. Der Inhalt wird nun in einem Block-Editor bearbeitet.

Der Zugriff auf Datei-Uploads kann mit der Option «Zugriff auf Datei-Uploads schützen» unter Formulare > Ein­stel­lungen geschützt werden.

Die bisherigen Kontakt­informationen sind neu im Tab Impressum unter Administration > Grund­ein­stel­lungen zu finden.
Weiter können im Tab Administrator unter Administration > Grund­ein­stel­lungen neu die Kontaktdaten des Administrators hinterlegt werden.

Verbesserungen

Im Shop können nun verwandte Produkte erfasst werden. Basierend auf einer Einstellung können ein- oder beidseitige Verwandschaften erfasst werden. Die zugehörigen neuen Platzhalter finden sich unter Platzhalterverzeichnis .

Der Platzhalter {SHOP_PRODUCT_IMAGE} kann mit dem neuen Block <!-- BEGIN/END shop_product_image --> zusammen verwendet werden, um die Anzeige eines Bildes samt umgebendem Markup (z.B. <img>- oder <a>-Tag) nur dann zu ermöglichen, wenn ein Produktbild gesetzt ist.

Folgende neue Platzhalter stehen beim Anmeldeformular einer Veranstaltung zur Verfügung:

{CALENDAR_EVENT_COUNT_WAITLIST}: Anzahl Einträge auf der Warteliste

{CALENDAR_EVENT_REGISTRATION_START_TIMESTAMP}: Unix Zeitstempel des Startdatums (zur Verwendung mit als individuelle Datumsanzeige)

Die Platzhalter {SHOP_PRODUCT_MINIMUM_ORDER_QUANTITY} und {SHOP_PRODUCT_MAXIMUM_ORDER_QUANTITY} können nun ausserhalb des Blocks <!-- BEGIN/END minimumOrderQuantity --> resp. <!-- BEGIN/END orderQuantity --> angezeigt werden und werden dadurch immer generiert - unabhängig vom Lagerbestand und Konfiguration.

Seiten die direkt oder indirekt auf sich selbst zeigen, und so endlose Weiterleitungen erzeugen, können im ContentManager nun nicht mehr gespeichert werden.

Die Mindestlänge von Coupon-Codes kann nun zwischen 3-8 festgelegt werden (bisher fix 6).

Neu können Benutzerprofil-Eigenschaften vom Typ Ganzzahl definiert werden.

Für jede Kategorie, resp. Ebene kann nun ein separater Meta-Titel erfasst werden.

Zudem wird dem Meta-Titel bei der Ausgabe im Frontend nur noch dann ein Gedankenstrich vorangestellt, wenn bei der dazugehörenden Inhaltsseite ein Meta-Seitentitel definiert ist.

Anfragen mit einem ungültige ausgewählten Theme via URL-Argument ?preview werden auf die gleiche URL ohne URL-Argument ?preview weitergeleitet.

Meta Beschreibungen bei Kategorien und Ebenen mit mehr als 160 Zeichen sind nun möglich.

Die Anzeige des Feldes zur Auswahl der Rubrik, Kategorie und CRM Mitgliedschaften wurde verbessert.

Es sind nun immer alle verfügbaren Backend-Sprachen aktiv.

Mit der neuen Option Anmeldeschluss ist es möglich den Anmeldeschluss auf einen Zeitpunkt nach dem Beginn einer Veranstaltung zu setzen.

Der Bereich "Medien" wurde umgestaltet zu "Dateien". Die Medienarchive wurden ausgegliedert.

Tastenkürzel für Inline Tools sind nun möglich. Die gängigen Tastenkürzel wurden hinterlegt.

Das InlineTool "Link" des BlockEditors öffnet nun einen Dialog mit mehr Einstellungsmöglichkeiten.

Die Ladezeit zur Auflistung der Verteilerlisten wurde wesentlich verbessert.

Die Auflistung der bei E-Mail-Kampagnen und E-Mail-Vorlagen verfügbaren Platzhalter wurde optimiert.

Die Funktion zur Einholung der Zustimmungsbestätigung kann nur noch einmal pro Empfänger ausgelöst werden. Eine erneute Einholung ist erst möglich, wenn der Empfänger die offene Einholung bestätigt hat.

Mit dem Befehl cx env shell --web kann direkt auf die Shell des Web-Containers (Apache httpd) zu gegriffen werden.

Der CSV-Export der Benutzerkonten enthält nun das Datum der letzten Benutzeraktion.

Zu jedem News Artikel können nun explizit Meta-Daten für die Suchmaschinenindexierung spezifiziert werden.

Die Erfassungsmaske für Artikel wurde leicht optimiert. Die Bild-Auswahl ist nun direkt im ersten Tab möglich.

Unter Administration > Benutzer & Rechte > Gruppen steht nun eine Such-Maske zur Verfügung.

Bei einem Datei-Upload im Frontend (via Uploader) wird nach erfolgreichem Datei-Upload das JavaScript-change-Event auf dem HTML-input[type=file]-Element ausgelöst.

IDs in der ersten Spalte und Code-Tags in Tabellen im Backend werden nun nicht mehr umgebrochen.

Bereits versendete E-Mail-Kampagnen werden bei der Absender-Verifikation nicht mehr aufgeführt.

Über das neue Feld Weitere Informationen können zu einem Produkt zusätzliche Informationen erfasst werden.

Über das neue Feld Lieferzeit kann zu einem Produkt ein Hinweistext zur Lieferzeit erfasst werden.

Mit dem Platzhalter [[PAGE_SLUG]] kann der URL-Slug der aktuellen Seite ausgegeben werden.

Im Backend sind die IDs von Einträgen, Kategorien und Ebenen nun direkt in der Übersicht sichtbar.

Der Versand von E-Mail Kampagnen ist nur noch an Empfänger möglich, zu welchen die Einwilligungserklärung im System gespeichert ist.

Der Seitenbaum und der Editierbereich im Content Manager scrollen nun separat.

Neu kann mit dem Template Block <!-- BEGIN/END contact_form_error --> eine konkrete Fehlermeldung ausgegeben werden. Z.B. dass der Sicherheitscode falsch abgetippt wurde.

Weiters kann im Erfolgsfall eine separate Anzeige mit dem neuen Block <!-- BEGIN/END contact_form_feedback --> erzeugt werden.

Bei Verwendung des neuen Template Blocks <!-- BEGIN/END contact_form_feedback --> erfolgt die Ausgabe Seiteninhalt nach Formulareinsendung nun ohne zusätzliche <br>-Tags.

Bei der Erfassung/Aktualisierung eines Kontaktformulars werden die dazugehörenden Anwendungsseiten im Content Manager nun automatisch angelegt, ohne dass der Benutzer dies bestätigen muss.

Die Widgets [[METAKEYS]], [[METADESC]], [[METAIMAGE]], [[METAIMAGE_WIDTH]] & [[METAIMAGE_HEIGHT]]werden nun immer angezeigt, unabhängig von der Option Suchmaschinenindizierung erlauben der aktuellen Seite.

Die zeitgesteuerte Veröffentlichung erlaubt nun ein offenes Start oder Enddatum.

Fehlerbehebungen

Das erneute Hinzufügen desselben Produkts erhöht nun korrekt die Menge der bestehenden Warenkorb-Position, anstatt eine zweite, identische Position anzulegen.

Die Template-Blöcke von Formularfeldern vom Typ “Textfeld mehrzeilig” mit einer Filter-Bedingung funktionieren nun auch dann, wenn als Wert nur HTML-Tags erfasst sind.

Das Speichern und Verarbeiten von verknüpften Entitätsdaten funktioniert nun auch bei Verwendung von Sonderzeichen wie erwartet.

Die Template-Blöcke von Formularfeldern vom Typ “Textfeld mehrzeilig” werden im Frontend nun angezeigt, auch dann wenn als Wert nur HTML-Tags erfasst sind. In diesem Fall erfolgt zwar keine Ausgabe in den Platzhaltern {MEDIADIR_INPUTFIELD_VALUE} und {MEDIADIR_INPUTFIELD_VALUE_SHORT}, aber der Platzhalter {MEDIADIR_INPUTFIELD_VALUE_ALLOW_TAGS} wird korrekt abgefüllt.

cx.ajax() verwendet nun die korrekte jQuery-Version.

Beim Öffnen des MediaBrowsers zum Wählen einer Zielseite wird die aktuelle Frontend-Sprache vorausgewählt.

Das Ziel von Seiten vom Typ "Verknüpfung" kann nun auch auf Seiten anderer Sprachen gesetzt werden.

Die maximale Anzahl Blöcke wurde von 255 auf theoretische 4'294'967'295 erhöht.

Die Funktion zeigt das definierte Format nun auch auf länderspezifischen Sprachversionen in der korrekten Sprache an.

Die Speicherung von eingelösten Gutscheincodes wurde korrigiert. Mindestbeträge, produktspezifische Gutscheine und Bestellungen mit mehreren Produkten werden nun korrekt gespeichert und in Backend sowie E-Mail-Benachrichtigungen richtig angezeigt. Die vom Kunden gezahlten Beträge waren zu jeder Zeit korrekt.

Widgets mit Platzhaltern als Argumente werden nun auch innerhalb von anderen Widgets unterstützt.

Getätigte Änderungen via FTP sind zuverlässiger direkt auf der Website sichtbar.

 

Die Abbrechen-Buttons in der Erfassungsmaske von Kategorien, resp. Ebenen führen den Benutzer korrekt zurück zur Übersicht der Kategorien, resp. Ebenen.

Bei Feldern vom Typ "Link" werden nun auch "tel:" und "mailto:" Links korrekt ausgegeben.

Die Canonical-Links sind nun eindeutig.

Bei Veranstaltungen, bei welchen die Anmelde-Funktion zu einem späteren Zeitpunkt aktiviert wird, wird das Anmeldeschluss-Datum korrekt gesetzt.

Bei Veranstaltungen welche in der Vergangenheit liegen, jedoch über Wiederholungen (mit nicht gesetzter Option Als unabhängige Veranstaltungen behandeln) in der Zukunft verfügen, können sich die Besucher trotzdem auf die zukünftigen Wiederholungen anmelden. Die Anmeldung sollte nur möglich sein, wenn die Option Als unabhängige Veranstaltungen behandeln gesetzt ist.

[[GEOIP_COUNTRY_NAME]], [[GEOIP_COUNTRY_CODE]] und die entsprechenden JavaScript-Variablen liefern nun die korrekten GEO-IP-Länderdaten. Siehe Integrations-Dokumentation.

Die Antwortzeit von Seiten mit zeitgesteuerten Inhalten wurde verbessert.

Jetzt zum Newsletter anmelden

ca. 4x im Jahr

«Bleib über die neuesten Funktionen, Verbesserungen und Fehlerbehebungen aus unserem Changelog informiert oder folge uns auf Social Media.»