Điểm:0

Ẩn và bỏ ẩn khối tùy chỉnh theo chương trình drupal 9

lá cờ cn

Xin chào, tôi đã tạo một mô-đun để hiển thị một khối. Tôi muốn đặt mức độ hiển thị của khối thành hiển thị và ẩn trong trang chủ dựa trên một điều kiện.

như thế này:

chỉnh sửa:


// lấy trạng thái từ cơ sở dữ liệu rồi kiểm tra điều kiện
nếu ($trạng thái = 1){
//làm cho khối hiển thị
}khác{
// ẩn khối
}

Tôi đã tìm kiếm trên internet và không thể tìm thấy cách làm cho nó hoạt động.

Tôi có một biểu mẫu được sử dụng để thêm nội dung vào cơ sở dữ liệu và nó có một hộp kiểm để xem có hiển thị khối đó hay không.

Vì vậy, tôi sẽ tìm nạp trạng thái (hiển thị/ẩn) của khối từ cơ sở dữ liệu và sau đó hiển thị khối đó.

Kevin avatar
lá cờ in
Tại sao không tạo bối cảnh hiển thị mới thay vì bối cảnh này?
lá cờ cn
xin chào @Kevin cảm ơn vì nhận xét của bạn. Bạn có thể vui lòng cho tôi biết thêm thông tin về điều này không, thực sự tôi là người mới sử dụng drupal.
NicklasF avatar
lá cờ us
Chúng tôi cần thêm thông tin về điều kiện để cung cấp cho bạn giải pháp tốt nhất vì trong Drupal, bạn có thể thực hiện việc này theo nhiều cách: trong cấu hình khối, móc và/hoặc mẫu nhánh
lá cờ cn
@NicklasMandrupFrederiksen Tôi vừa cập nhật câu hỏi, vui lòng kiểm tra nó
Kevin avatar
lá cờ in
https://www.jaypan.com/tutorial/custom-drupal-block-visibility-plugins-and-condition-plugin-api
Điểm:3
lá cờ cn

Khi bạn tạo một mô-đun để hiển thị một khối, điều này thường có nghĩa là bạn triển khai một plugin khối. Sau đó, bạn có thể thêm trực tiếp điều kiện vào plugin:

  chức năng được bảo vệ blockAccess(AccountInterface $account) {
    $access = $this->languageManager->isMultilingual() ? AccessResult::allowed() : AccessResult::forbidden();
    trả về $access->addCacheTags(['config:configurable_language_list']);
  }

Ví dụ từ lõi LanguageBlock::blockAccess().

lá cờ cn
Cảm ơn điều này đã làm việc

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.