Top.Mail.Ru
  • CMS «GIRVAS»

    Ein flexibles und kostenloses Content-Management-System, mit dem Sie eine Website für jede Branche erstellen können.

    Mit uns einfacher!

  • Absolut kostenlos

    Hören Sie auf, alte und kostenpflichtige Verwaltungssysteme zu verwenden! Die Ära der neuen Lösungen ist angebrochen – wählen Sie «GIRVAS»!

  • Karelische Lösung

    «GIRVAS» wurde in der Republik Karelien entwickelt und ist im Register der russischen Software des Ministeriums für digitale Entwicklung der Russischen Föderation eingetragen (Registrierungsnummer Nr. 25012 vom 27.11.2024).

0.3.0 "Schuja"

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 SeoAnalyzer implementiert 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"

Übersetzungen

Kommentare

Zu diesem Beitrag gibt es keine Kommentare.