ตรวจสอบว่าหน้าปัจจุบันเป็นเทอมภาษีหรือไม่


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
ฉันเดาว่าโค้ดด้านบนยังถูกเรียกใช้ในหน้า taxonomy / term / id / edit & feed ด้วย !! เราอาจต้องตรวจสอบหาข้อโต้แย้งที่สาม?
Anil Sagar

1
@AnilSagar Holy moly คุณพูดถูก: P ฉันไม่แน่ใจจริงๆว่าวิธีที่ได้รับการยอมรับในการทำเช่นนี้คืออะไรสมมติว่าฉันยังไม่ได้ทำอะไรแบบนั้นเกี่ยวกับarg()การอ่านได้น้อยลง
Clive

วิธีการเกี่ยวกับการโผล่เล็กน้อย&& !path_is_admin(current_path())ในifคำสั่งหรือไม่ ฉันไม่ได้ตรวจสอบ แต่ระยะแก้ไขเส้นทางที่เป็นหน้าที่ของผู้ดูแลระบบไม่ :)
Chapabu

1
@Chapabu คุณควรใช้เครื่องหมายการค้า;)
Clive

2
ข้อควรระวัง: การเปิดใช้งาน Views จะแทนที่คำว่า taxonomy ทำให้เกิด menu_get_object ('taxonomy_term', 2); จะไม่ทำงานอีกต่อไป ดู: drupal.org/node/1468006และapi.drupal.org/comment/45018#comment-45018
มนู


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/editซึ่งฉันไม่แน่ใจว่า OP ต้องการ
Clive

1
ใช่เขาไม่ได้พูดในสิ่งที่เขาตั้งเป้าหมายไว้อย่างแม่นยำ แต่ฉันได้อัปเดตคำตอบของฉันเพื่อแก้ไขข้อกังวลนั้น
Madis
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.