sự khác biệt giữa render()
và drupal_render()
dù sao? Có một lý do để chỉ sử dụng drupal numnder ()?
sự khác biệt giữa render()
và drupal_render()
dù sao? Có một lý do để chỉ sử dụng drupal numnder ()?
Câu trả lời:
Các tài liệu để render()
giải thích nó khá tốt:
Hàm này biểu hiện một phần tử bằng cách sử dụng drupal numnder (). Phần tử mức cao nhất được hiển thị với show () trước khi kết xuất, do đó, phần tử này sẽ luôn được hiển thị ngay cả khi ẩn () đã được sử dụng trước đó trên nó.
render()
về cơ bản chỉ là một trình bao bọc cho drupal_render()
, ngoại trừ việc nó đảm bảo phần tử được truyền vào được đặt thành hiển thị khi được truyền qua drupal_render()
.
Nó cũng đảm bảo rằng phần tử được truyền vào là một mảng (tất cả đều drupal_render()
có thể chấp nhận). Nếu không, phần tử sẽ trở lại nguyên trạng. Vì vậy, nó cung cấp một chút của một mạng lưới an toàn nếu bạn muốn.
Nếu vì bất kỳ lý do nào bạn có một biến bạn cần kết xuất và bạn không biết đó là chuỗi hay mảng kết xuất, bạn có thể chuyển thẳng qua render()
mà không cần phải tự kiểm tra loại biến.
Đối với một số ví dụ trong thế giới thực về tình huống đó, có một danh sách các cuộc gọirender()
mà bạn có thể xem qua.