Drupal ile tag arama opsiyonları

Events happening in the community are now at Drupal community events on www.drupal.org.
rgnyldz's picture

Selamlar,

Biraz özel bir arama metodu arıyorum, şöyle ki;

Views ile tag bazlı bir arama formu hazırladım. Bu aramada kullanıcı (a-b-c) taglarını yazıp aradığı zaman, içerisinde (a-b-c) tagları GEÇEN tüm nodeları buluyor.

Benim istediğim ise biraz daha farklı bir metod. Kullanıcı (a-b-c) kelimelerini arattırdığı zaman, içerisinde SADECE (a-b-c) ya da (a-b) ya da (a-c) ya da (b-c) ya da daha azı geçen nodeları bulmasını istiyorum.

Exposed filters içerisindeki opareatörler bunun için yetersiz kalıyor malum.

Yani sorum;
1-) Views içerisine extra operatör eklemek mümkün değil gibi görünüyor, çözümü var mıdır?
2-) Bu aramayı yapabilecek başka bir modül ya da eklenti biliyor musunuz?

D7 tercihimdir.

Şimdiden teşekkürler.

Comments

Aşağıdaki adımlar ile

bakyildiz's picture

Aşağıdaki adımlar ile istediğin sonuca ulaşacağını umuyorum.
Sıfırdan bir view oluştur.
CONTEXTUAL FILTERS bölümüne "Content: Has taxonomy term ID" seçeneğini ekle. Ancak ekleme aşamısında açılan popup ekranında, "Reduce duplicates" seçeneği ile MORE seçeneği altında bulunan "Allow multiple values" seçeneğini tıkla.
Bu aşamadan sonra url'ye arama yapmak istediğin tag seçeneklerin + (artı) ile bağlar isen AND işlevini sağlamış olursun. + (artı) yerine , (virgül) OR işlevi sağlar.
Artı ile bağladığın değerlerin tümü düğüm içinde olması şeklinde çalışır.
Virgül ile bağladığın değerlerden biri düğüm içinde var ise şeklinde çalışır.

Umarım bu işine yarar.

Benzer bir problem ile karşılaşanlar için;

rgnyldz's picture

Uzun uğraşlar sonucunda bu işlemi views'in standart yapısıyla ya da bir arama modülü ile yapamayacağımızı anladık.

D7 nin tablo yapısından dolayı bu işlemi, birtakım SQL sorguları birleştirerek başarabildik. Ardından bu sorguları drupal'in bir php sayfasında görüntüleyip views'e bağladık. Oradan da sonuçların alanlarını vs. düzenleyebiliyoruz.

Search API

yenidem's picture

Search API eklentisini kullanarak yapabilirdiniz diye düşünüyorum. Benzer şekilde bir yapıyı kullanmıştım. Eğer sorunu çözdüyseniz problem yok. Search API kullanacaksanız bir kaç küçük ayarla bu dediğinizi çok güzel yaparsınız.

Search API kurmuştum fakat

rgnyldz's picture

Search API kurmuştum fakat istediğimi elde edemedim, daha doğrusu çok üstünde duramadığım için ben beceremedim sanırım.

Bu kodları bir modül haline de çevirdiğimiz için sonrasında spesifik müdahaleler ve geliştirmelere de çok açık duruma geldi. Daha iyi oldu aslında.

Yinede cevap için teşekkürler :)

SearchAPI ile istediğimiz

bakyildiz's picture

SearchAPI ile istediğim sonuca ulaşamadım. Views eklentisinin multiple value seçeneği ile yaşadığımız sorunun aynısı SearhAPI ile de oluşuyor. SearchAPI'nin ürettiği sorguyu modül yapıp ezmek gerektiyor ki bu da çok olmuyor çünkü SearhAPI sâdece $query->filter veya $query->condition destekliyor. Bu konuda https://drupal.org/node/2135977 ile SearchAPI modülüne destek talebi açtım.