İçeriğe geç

Arama, ayarlar ve SEO

Arama sağlayıcısı

SearchProviderInterface uygulayan bir servis, üst çubuk aramasına sonuç ekler (autoconfigure ile otomatik kaydolur):

final class OrnekSearchProvider implements SearchProviderInterface
{
    public function getKey(): string { return 'ornek'; }
    public function getLabel(): string { return 'ornek.search.source'; }   // çeviri anahtarı
    public function getIcon(): string { return 'bi-book'; }
    public function getPriority(): int { return 35; }
    public function search(string $term, string $locale, int $limit): SearchGroup { /* SearchHit listesi */ }
}

Ayarlar (CpSetting)

Ayarlar bir taşıyıcı sınıfta öznitelik olarak tanımlanır; ayar anahtarı modul.ad biçimindedir. Okumak için SettingsRegistry::get() kullanın; kaydederken Setting varlığını yazıp clearCache() çağırın.

#[CpSetting(key: 'ornek.title', label: 'Başlık', type: 'text', default: 'Örnek', module: 'ornek', group: 'ornek_general')]
final class OrnekSettings {}

Çeviriler

Resources/translations/messages+intl-icu.{tr,en}.yaml dosyalarına anahtarlar ekleyin; şablonda 'anahtar'|trans. Yönetim ekranlarında sabit Türkçe metin kullanmak çalışır ama çok dilli kurulumlarda çeviri anahtarı tercih edin.

Önbellek

Herkese açık sayfalar önbelleğe alınır. İçerik değişince OriginCachePurger::purgeAll() (veya etiketli temizleme) çağırın; Node türleri bunu otomatik yapar, modül tabloları yapmaz.

SEO

Modül SEO sağlayıcısı ve site haritası kaynağı da ekleyebilir (Seo modülü gerektirir). Her sayfada <title>, description ve canonical verin.

Son güncelleme: 13.10.2026