it-swarm-vi.com

Kiểm tra xem trang có phải là nút sử dụng đối số trong D7 không

Trong Drupal 6, để kiểm tra xem trang hiện tại có phải là nút không, chúng tôi sử dụng đoạn mã sau:

if (arg(0)=='node' && is_numeric(arg(1))) { /* Do stuff. */ }

Vì đây là một câu lệnh được sử dụng thường xuyên, tôi tự hỏi liệu có cách nào ngắn hơn để làm điều này trong Drupal 7, chẳng hạn như một cái gì đó tương tự như sau:

if (is_node()) { /* Do stuff. */ }
6
Logi

Trên thực tế, có một hàm có sẵn trong Drupal 6 quá: menu_get_object() . Với các giá trị mặc định, nó sẽ trả về một đối tượng nút nếu URL cho trang hiện tại bắt đầu bằng nút/[ID nút] (trong đó [ID nút] là ID nút) và FALSE trong các trường hợp khác, hàm này đặc biệt hữu ích nếu sau khi xác minh trang hiện tại là trang nút, bạn cũng cần truy cập vào đối tượng nút được liên kết với trang và hàm đang gọi menu_get_object() không nhận được một đối tượng nút giữa các đối số của nó.

Trong Drupal 7, cũng có một hàm khác, nhưng mục đích của nó chỉ là để xác minh xem trang được xem hiện tại có phải là chế độ xem trang đầy đủ của nút được truyền dưới dạng đối số: node_is_page() .

15
kiamlaluno