CMS "GIRVAS" Veröffentlichung vom 12. Mai 2026 in der Entwicklungsphase "Schuja".
Neueste Änderungen
QueryBuilder: Unterstützung für JOINs, CASE-Ausdrücke und Indizes hinzugefügt
- Enum IndexType mit Indextypen hinzugefügt (BTREE, HASH, GIST, GIN, SPGIST, BRIN, FULLTEXT)
- Klasse ClauseJoin für JOIN-Unterstützung in SELECT-Abfragen hinzugefügt (INNER, LEFT, RIGHT, FULL)
- Adaptive Generierung von JOIN-Bedingungen für MySQL und PostgreSQL implementiert
- Klasse CaseExpression für die Konstruktion von CASE-Ausdrücken in SQL hinzugefügt
- Methoden whenJsonLike() und whenJsonArrayContains() für JSON-Suche implementiert
- Statische Methode CaseExpression::sum() zur Summierung von CASE-Ausdrücken hinzugefügt
- Factory-Methode createCase() zum QueryBuilder hinzugefügt
- Klasse StatementCreateIndex für CREATE INDEX-Abfragen hinzugefügt
- Klasse StatementDropIndex für DROP INDEX-Abfragen hinzugefügt
- Unterstützung für UNIQUE, CONCURRENTLY, IF NOT EXISTS/IF EXISTS, partielle Indizes mit WHERE implementiert
- Methoden setStatementCreateIndex() und setStatementDropIndex() zum QueryBuilder hinzugefügt
- Escaping von CASE-Ausdrücken in addSelections() für PostgreSQL korrigiert
- In der Klasse EntryCategory wurde das Caching initialisierter Daten (initData) hinzugefügt
Integrierte Suchmaschine für Einträge hinzugefügt
- Zur Klasse Entries wurde die Methode search() für die Volltextsuche unter Berücksichtigung der Lokalisierung hinzugefügt
- Zur Klasse Entries wurde die Methode getCountBySearch() für die Seitennavigation der Suchergebnisse hinzugefügt
- Ranking der Suchergebnisse nach Relevanz mit konfigurierbaren Feldgewichten implementiert
- AND-Suche mit Zerlegung der Abfrage in Wörter und Berücksichtigung von Satzzeichen implementiert
- Klasse PageSearch für die Anzeige der öffentlichen Suchseite hinzugefügt
- URL-Dekodierung der Suchanfrage in PageSearch korrigiert
Archivseite für Einträge mit Datumsnavigation hinzugefügt
- Zur Klasse Entries wurden die Methoden getByDateRange() und getCountByDateRange() für die Abfrage eines Zeitraums hinzugefügt
- Zur Klasse Entries wurden die Methoden getAvailableYears() und getAvailableMonths() für die Archivnavigation hinzugefügt
- Klasse PageArchive für die Anzeige der Archivseite hinzugefügt
- Navigation nach Jahren und Monaten mit Zählung der Einträge implementiert
- getMonthName() wurde in eine öffentliche statische Methode geändert, die Namen aus der Lokalisierung bezieht
- Archivnavigation buildArchiveNavigation() wurde auf DOMDocument umgestellt
- Dem Sitemap wurden Archivseiten hinzugefügt (/archive, /archive?year=JJJJ, /archive?year=JJJJ&month=MM)
Unterstützung für Unterkategorien und hierarchische Breadcrumbs hinzugefügt
- Zur Klasse Entries wurden die Methoden getByCategoriesIDs() und getCountByCategoriesIDs() hinzugefügt
- Zur Klasse EntryCategory wurde die Methode getChildCategoriesIDs() für den rekursiven Abruf von Unterkategorien hinzugefügt
- Zur Klasse EntryCategory wurde die Methode getParentChain() für die Breadcrumb-Hierarchie hinzugefügt
- Die Methoden getEntries() und getEntriesCount() wurden um den Parameter includeChildren erweitert
- Die Kategorieseite PageEntries zeigt Einträge unter Berücksichtigung der Unterkategorien an
- Breadcrumbs zeigen die vollständige Hierarchie von der Wurzel bis zur aktuellen Kategorie an
Automatische Indexerstellung bei der CMS-Installation hinzugefügt
- Indexerstellungsblock in Schritt 6 der Installation nach der Tabellengenerierung hinzugefügt
- Indizes für die Tabellen entries, entries_categories, entries_comments, pages_static
- Indizes für die Tabellen users, users_sessions, forms_data, web_channels, metrics
- Eindeutige Indizes für name, login, email
- Für PostgreSQL wurden GIN-Indizes für JSONB-Felder und ein partieller Index für veröffentlichte Einträge hinzugefügt
- Alle Indizes werden mit IF NOT EXISTS erstellt, Fehler werden protokolliert, ohne die Installation zu unterbrechen
Unterabschnitt "Inhaltsblöcke" im Bereich "Inhalt" des Admin-Panels hinzugefügt
- Neuer Unterabschnitt "Inhaltsblöcke" im Bereich "Inhalt" eingeführt
Integrierter SEO-Content-Analyzer mit Markdown-Unterstützung hinzugefügt
- Klasse
SeoAnalyzerimplementiert zur Prüfung von fünf Bereichen: Titel, Meta-Beschreibung, Schlüsselwörter, Inhalt, URL - Der Analyzer prüft das Vorkommen von Schlüsselwörtern im SEO-Titel, in der Meta-Beschreibung, in h2-h6-Überschriften, im ersten Absatz und im gesamten Text
- Duplikatskontrolle: Warnung, wenn SEO-Felder nicht ausgefüllt sind und die Hauptfelder duplizieren
- Markdown-Parser unterstützt json-Attribute für Links und Bilder in der "GIRVAS"-CMS-Syntax
- Suche nach nackten URLs mit Empfehlung, diese als Markdown-Links zu formatieren
- Prüfung von Alt-Texten bei Bildern und rel=nofollow bei externen Links
- Überschriftenhierarchie: h1 wurde von der Inhaltsprüfung ausgeschlossen, da es vom Theme generiert wird
- Farbcodierung und Fortschrittsbalken für jeden Bereich
- Empfehlungsblock mit konkreten Schritten zur Verbesserung
- Arbeitet vollständig clientseitig, ohne Serveranfragen
- Lokalisierung über _t() mit PHP-kompatiblem Format
%s,%d,%.nf - Oberfläche in die Seitenleiste des Seiten- und Eintrags-Editors integriert
Kleinere Fehler behoben
Vorherige Veröffentlichung: 0.2.9 "Woizy"
Kommentare