Skip to content

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.