Mevcut sayfanın sınıflandırma terimi olup olmadığını kontrol edin


8

Geçerli sayfanın bir sınıflandırma terim sayfası olup olmadığını, geçerli sayfanın ön sayfa olup olmadığını kontrol etmek için kullanılan aşağıdaki kodla benzer şekilde nasıl kontrol edebilirim?

if (drupal_is_front_page()) {
  // The current page is the front page.
}
else {
  // It is not the front page.
} 

Yanıtlar:


13

Sadece faydalanmayan bir çözüm sunmak arg()( dokümanlar sayfasına göre mümkün olan yerlerde kaçınmanız önerilir )

menu_get_object()İşlevi kullanabilirsiniz :

$term = menu_get_object('taxonomy_term', 2);
if ($term) {
  // User is on a taxonomy term page
}

1
Yukarıdaki kod da taksonomi / terim / id / düzenleme ve besleme sayfalarında da yürütüleceğini tahmin !! Üçüncü argümanı kontrol etmemiz gerekebilir?
Anil Sagar

1
@AnilSagar Kutsal moly haklısın: P Daha arg()az okunabilir olma konusunda biraz uydurmadığımı varsayarak, bunu yapmanın kabul edilen yolunun ne olduğundan gerçekten emin değilim
Clive

Nasıl bir az şey haşhaş hakkında && !path_is_admin(current_path())yılında ifaçıklamada? Henüz kontrol etmedim, ancak terim düzenleme yolları yönetici sayfaları, hayır :)
Chapabu

1
@Chapabu Ticari markayı kullanmalısınız;)
Clive

2
Dikkat: Görünümleri Etkinleştirmek, sınıflandırma terimi yükleyicinin yerini alarak menu_get_object ('taxonomy_term', 2) 'e neden olur; artık çalışmıyor. Bakınız: drupal.org/node/1468006 ve api.drupal.org/comment/45018#comment-45018
Manu

5
<?php

if (arg(0) ==  "taxonomy" && arg(1) == "term" && is_numeric(arg(2)) && arg(3) == "") {
  // Taxonomy term page
}

?>

5

<?php if (arg(0) == 'taxonomy' && arg(1) == 'term' && arg(2)): ?> hile yapmalı.

Düzenleme / feed'in (ve muhtemelen diğer ilgili sayfaların) hariç tutulması gerekiyorsa şunları kullanabilirsiniz: <?php if (arg(0) == 'taxonomy' && arg(1) == 'term' && arg(2) && !arg(3)): ?>


Bu da taxonomy/term/123/editOP'nin istediğinden emin olmadığım için doğru dönecektir .
Clive

1
Evet, tam olarak neyi amaçladığını söylemedi, ancak bu endişeyi gidermek için cevabımı güncelledim.
Madis
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.