Search Documentation

Search for pages and headings in the documentation

SearchResultEntryModel

Das SearchResultEntryModel ist das Standardmodell für einzelne Suchergebnisse in CrispyCMS. Es implementiert das Interface SearchResultEntryInterface und wird verwendet, um Suchergebnisse strukturiert darzustellen und weiterzugeben.


Konstruktor

__construct(string $title, string $snippet, string $url, string $source, Carbon $createdAt, Carbon $updatedAt)

Erzeugt eine neue Instanz von SearchResultEntryModel.

Parameter:

  • $title: Titel des Suchergebnisses
  • $snippet: Kurzbeschreibung oder Auszug
  • $url: Link zum Suchergebnis
  • $source: Quelle des Ergebnisses (z. B. Modellname oder Plugin)
  • $createdAt: Erstellungsdatum als Carbon-Instanz
  • $updatedAt: Änderungsdatum als Carbon-Instanz

Beispiel:

use Crispy\Models\SearchResultEntryModel;
use Carbon\Carbon;

$entry = new SearchResultEntryModel(
    title: 'Beispielseite',
    snippet: 'Dies ist ein Suchergebnis.',
    url: '/beispiel-seite',
    source: 'custom',
    createdAt: Carbon::now(),
    updatedAt: Carbon::now()
);

Eigenschaften

  • title: Titel des Suchergebnisses
  • snippet: Kurzbeschreibung oder Auszug
  • url: Link zum Ergebnis
  • source: Quelle des Ergebnisses
  • createdAt: Erstellungsdatum (Carbon)
  • updatedAt: Änderungsdatum (Carbon)

Methoden

getTitle(): string

Gibt den Titel des Suchergebnisses zurück.

getSnippet(): string

Gibt einen Auszug oder eine Kurzbeschreibung des Ergebnisses zurück.

getUrl(): string

Gibt die URL zum Suchergebnis zurück.

getSource(): string

Gibt die Quelle des Suchergebnisses zurück.

getCreatedAt(): Carbon

Gibt das Erstellungsdatum des Ergebnisses zurück.

getUpdatedAt(): Carbon

Gibt das Änderungsdatum des Ergebnisses zurück.

toArray(): array

Gibt alle Felder des Suchergebnisses als Array zurück:

{
  "title": "Seitentitel",
  "snippet": "Kurzbeschreibung oder Auszug",
  "url": "/seite-url",
  "source": "Suchquelle",
  "createdAt": "2025-09-15 12:34:56",
  "updatedAt": "2025-09-15 12:34:56"
}

Verwendung

SearchResultEntryModel-Objekte werden von Event-Listenern und Suchfunktionen verwendet, um Suchergebnisse zu erzeugen und weiterzugeben. Sie können direkt in Twig-Templates verarbeitet und angezeigt werden:

{% for entry in performSearchQuery(GET.q) %}
    <li>
        <a href="{{ entry.url }}">{{ entry.title }}</a>
        <div class="snippet">{{ entry.snippet }}</div>
        <span class="source">Quelle: {{ entry.source }}</span>
    </li>
{% endfor %}

Hinweise

  • Die Zeitstempel werden als Carbon-Instanzen gespeichert und bei der Ausgabe als String formatiert.
  • Das Modell ist unveränderlich (final) und wird nur zur Ausgabe und Übergabe verwendet.