Điểm:0

Làm cách nào để thay đổi điều kiện thành AND khi truy cập nội dung theo vai trò trong khối xem?

lá cờ br

Tôi có khối chế độ xem 'Expo', tôi chỉ muốn hiển thị khối này nếu người dùng hiện tại có hai vai trò người dùng cụ thể, tức là 'Diễn viên' và 'Ca sĩ'.

Khi tôi kiểm tra cả 'Diễn viên' và 'Ca sĩ' , Khối hiển thị ở những người dùng có vai trò người dùng 'Diễn viên' hoặc 'Ca sĩ'. Khi người dùng có hai vai trò người dùng, nó sẽ hiển thị hai khối.

Theo hiểu biết của tôi, nó đang sử dụng OR có điều kiện ở giữa các vai trò người dùng đã chọn. Làm cách nào tôi có thể thay đổi nó thành AND có điều kiện?

Điểm:2
lá cờ in

Vâng Vai trò plugin truy cập được viết theo cách mà nó quyền phương pháp hoạt động hiệu quả như một HOẶC:

truy cập chức năng công khai(AccountInterface $account) {
  return array_intersect(array_filter($this->options['role']), $account->getRoles());
}

Để thay đổi hành vi này, bạn có thể thực hiện theo hai cách:

  • Tạo mới Lượt xemTruy cập plugin chủ yếu hoạt động như Vai trò nhưng hoạt động với một . Để làm điều này, mở rộng Vai trò lớp, ghi đè lên quyền phương thức, và sau đó khai báo lớp này là một phương thức mới @ViewsAccess plugin (hãy nhớ cung cấp cho nó một ID duy nhất và một tên mới). Plugin mới này sẽ hiển thị bên cạnh plugin hiện có Vai trò cắm vào.

  • Ngoài ra, bạn có thể thêm một tùy chọn trên hiện có Vai trò plugin để làm cho nó hoạt động giống như một khi nói với. Để làm điều này, bạn mở rộng hiện có Vai trò lớp, ghi đè xây dựngOptionsForm phương pháp để thêm tùy chọn, ghi đè lên quyền phương pháp chỉ hoạt động như một nếu nó được cấu hình thành, thì thay đổi hiện có Vai trò lớp của plugin để trỏ đến phiên bản mở rộng của bạn thay vì một từ Lượt xem.

    • Nếu bạn quen làm việc với các thay đổi biểu mẫu và xem các thay đổi để sửa đổi biểu mẫu và cách mọi thứ hiển thị dựa trên giá trị biểu mẫu, thì cách tiếp cận này gần như tương tự.
Steve Siddu avatar
lá cờ br
Làm cách nào tôi có thể làm điều tương tự với khối bình thường không phải là khối xem?
lá cờ in
@SteveSiddu Hãy nhớ phần trong Bố cục khối nơi bạn giới hạn khả năng hiển thị của khối theo Vai trò, Loại nội dung và/hoặc Đường dẫn? Đó là [`@Condition` plugin](https://www.drupal.org/node/1961370). Chúng là một loại plugin khác nhưng hoạt động tương tự như (và cũng có thể ghi đè như) plugin `@ViewAccess`.

Đă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.