sonat yöneticisinin belgelerine göre küresel arama modülü show_in_dashboard
true olarak ayarlanır yani tüm görünür yöneticileri arayacaktır sözü var ve sadece yapılandırılmış yöneticisinin configureDatagridFilters()
işlevinde olan sadece bu alanlarda arayacaktır, Yani alanları eklendi admin sınıfının $datagridMapper
nesnesine Sonata admin'in global aramasında arama yapılacaktır. Örneğin
Eğer haber yöneticisi ve configureListFields()
size 3 alanları
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('id')
->add('name')
->add('createdDate');
}
Ve
configureDatagridFilters()
yılında sonuçları
filtrelemek için sadece isim alanı var olması
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper->add('name');
}
Yani Sonata sadece adı alanında arayacaktır haber yöneticinin bu yönetici için bir filtre yapılandırmış çünkü Yani bu filtre de adı alanına hariç aranır yönetici ve başka hiçbir alan için küresel aramada kullanılan
Docs göre
"genel arama" son kullanıcı gösterge tablosunda tüm görünür yöneticilerden üzerinde yineleme ve anahtar kelime için arama yapmanızı sağlar. Geçerli uygulaması çok basittir, bir dize ile ilgili her filtre varsayılan olarak aranabilir. sonat küresel aramayla ilgili
ADMIN BUNDLE ~ GLOBAL SEARCH
Diğer bilgiler yönetici sınıflar üzerinde
arama dolaşır ve gerçek olarak ayarlanmış global_search seçeneği ile filtrenin arayın. Eğer kullanıyorsanız SonataDoctrineORMBundle herhangi bir metin filtresi varsayılan olarak true ayarlanacaktır. dizeye ayarlanmış varsayılan sonat tarafından
otomatik gibi $datagridMapper
'ın add()
saha seçeneği ayarlayarak aramada kullanılmak üzere ayrıca alanını zorlayabilir küresel arama içerir alan açıklama arar aşağıda
->add('name', null, array('global_search' => true), null, array()
Sonata aramak ne sütunlar üzerinde belirlemek için daha kullanır gibi görünüyor, çünkü hızlı ve ayrıntılı cevapta M Halid Cüneyt için
Sonata Search
sayesinde, ancak (henüz) işime yaramaz. Ben sonat Yorum varlık yorum alanına aramak istediğiniz ve ben CommentAdmin içinde dataGridFilters için bu alanı eklemiş: 'korumalı fonksiyon configureDatagridFilters (DatagridMapper $ datagridMapper) { $ datagridMapper - '> ekleyin (kullanıcı ') -> (ekleme' yorumunu ') ancak benim sonuçlarında ' , ben sadece tüm açıklamaları (filtreleme yok olsun) – vitrus
@vitrus benim güncellenen cevabım sorununuzu –
M Halid Jnaid çözer umut bkz, cevabın bana doğru yönde yardımcı oldu, aşağıdaki satırı ile çalıştım: '-> ekle ('comment', null, array ('global_search' => tru e), null, array()) (bu nedenle "seçenekler" muhtemelen beşinci yerine üçüncü argümandır). Cevabınızı güncelleyebilir, böylece onaylayabilirim (böylece diğer insanlar bu konu için kullanılabilir). – vitrus