현재 페이지가 분류 용어인지 확인


8

현재 페이지가 첫 페이지인지 확인하는 데 사용 된 다음 코드와 비슷한 방식으로 현재 페이지가 분류 용어 페이지인지 어떻게 확인할 수 있습니까?

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

답변:


13

사용하지 않는 솔루션을 제공 arg()하기 위해 ( 문서 페이지 에 따라 가능한 경우 피하는 것이 좋습니다 )

menu_get_object()기능을 사용할 수 있습니다 :

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

1
위의 코드도 분류법 / 용어 / 아이디 / 편집 및 피드 페이지에서도 실행됩니다! 우리는 세 번째 인수를 확인해야 할 수도 있습니다.
Anil Sagar

1
@AnilSagar Holy moly 당신이 옳습니다 : P 나는 arg()읽을 수없는 것에 대해 그 비트를 만들지 않았다고 가정하면, 이것을 받아들이는 방법이 무엇인지 잘 모르겠습니다.
Clive

성명서 && !path_is_admin(current_path())에서 조금 터지는 것은 if어떻습니까? 아직 확인하지는 않았지만 편집 경로라는 용어는 관리자 페이지입니다. :)
Chapabu

1
@Chapabu 당신은 그 상표를 사용해야합니다;)
Clive

2
주의 : 뷰를 활성화하면 분류 용어 로더가 바뀌고 menu_get_object ( 'taxonomy_term', 2); 더 이상 작동하지 않습니다. 참조 : drupal.org/node/1468006api.drupal.org/comment/45018#comment-45018
마누

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)): ?> 트릭을해야합니다.

편집 / 피드 (및 기타 관련 페이지)를 제외해야하는 경우 다음을 사용할 수 있습니다. <?php if (arg(0) == 'taxonomy' && arg(1) == 'term' && arg(2) && !arg(3)): ?>


또한 taxonomy/term/123/editOP가 원하는지 확실하지 않은 true를 반환합니다 .
Clive

1
예, 그는 자신이 정확히 무엇을 목표로했는지 말하지 않았지만 그 문제를 해결하기 위해 답변을 업데이트했습니다.
Madis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.