Có cách nào để thiết lập khả năng hiển thị khối theo chương trình mà không cần sử dụng mô-đun Bộ lọc PHP không?


11

Bằng cách kích hoạt mô-đun Bộ lọc PHP lõi, tôi có thể sử dụng mã PHP để đặt mức độ hiển thị của một khối trong trang cấu hình khối.

Nhưng tôi không muốn kích hoạt mô-đun bộ lọc PHP để đo lường bảo mật. Vì vậy, có một cách để làm điều đó trong mô-đun tùy chỉnh ? Tôi không thể tìm thấy một cái móc làm như vậy. Và một cái móc gần hook_block_view_alterchỉ có thể thay đổi nội dung khối.

Câu trả lời:


13

Đúng. Đặt nội dung khối thành false sẽ ẩn nó khỏi màn hình và sẽ ẩn khu vực nếu không có khối nào khác hiện diện. Tôi tưởng tượng bạn sẽ cần một thiết lập tương tự như sau:

$block['content'] = _my_module_custom_block();

...

function _my_module_custom_block(){
    if( HIDE_CONDITION )
        return false;
}

2
nó sẽ vẫn hiển thị một khối với nội dung trống?
gilzero

1
công trình, tuyệt vời cám ơn.
gilzero

@gilzero, không, nó sẽ không.
WM

1

Các Quy định tầm nhìn khối mô-đun là một thay thế có sẵn ... mà không yêu cầu các bộ lọc PHP để được kích hoạt . Đây là một trích dẫn từ trang dự án của nó:

Mô-đun hiển thị khối Quy tắc cho phép các thành phần Quy tắc được sử dụng để kiểm soát mức độ hiển thị của khối. Điều này cung cấp cho các quản trị viên và nhà phát triển Drupal tính linh hoạt cao trong việc kiểm soát khi các khối nên được hiển thị trên trang web của họ, ngoài các tùy chọn hiển thị mặc định do Drupal cung cấp.

Ý tưởng chung là nếu bạn có thể làm điều đó với Quy tắc, bạn có thể sử dụng nó để kiểm soát mức độ hiển thị của khối, vì vậy khả năng là vô hạn.

Cần hiển thị một khối chỉ cho người dùng đã đăng ký hơn một tháng trước?

Có lẽ bạn có một khối chỉ được hiển thị trong khoảng từ 8 giờ sáng đến 5 giờ chiều vào các ngày trong tuần?

Còn việc hiển thị hoặc ẩn một khối dựa trên điều kiện thời tiết hiện tại thì sao?

Tất cả điều này có thể được thực hiện bằng cách sử dụng khả năng hiển thị khối Quy tắc.

Ngoài ra, theo " nếu bạn có thể làm điều đó với Quy tắc, bạn có thể sử dụng nó để kiểm soát mức độ hiển thị của khối " ở trên, bạn có sức mạnh của Quy tắc để triển khai tất cả các loại logic tùy chỉnh (cfr. Phần "mô đun tùy chỉnh / mô đun tùy chỉnh" câu hỏi của bạn).

Để biết minh họa về cách sử dụng mô-đun này, hãy tham khảo câu trả lời của tôi về " Cách ngăn khối Lượt xem hiển thị cho quản trị viên, chẳng hạn như người dùng / 1? ".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.