Một biến thể trong Trình quản lý trang là gì?


7

Tôi đang cố gắng làm theo hướng dẫn này , nhưng nó không giải thích rõ ràng về khái niệm biến thể. Nó không cung cấp một định nghĩa về nó.

Ai đó có thể làm rõ khái niệm này bằng tiếng Anh đơn giản? Các trường hợp thực tế mà bạn sẽ sử dụng các biến thể là gì?


2
Các biến thể không phải là một khái niệm Drupal cốt lõi, mà rõ ràng là một khái niệm Bảng / Trình quản lý trang. Được trang bị lại với các bảng .

Câu trả lời:


4

Các biến thể được thực hiện với Bảng điều khiển và là một cách để thay đổi đầu ra một chút. Các biến thể có thể kế thừa hầu hết hành vi của chúng và có thể ghi đè lên những gì chúng cần. Nếu bạn có kinh nghiệm với Lượt xem thì gần giống như có màn hình khác. Biến thể có thể thay đổi cách đặt bảng điều khiển hoặc có thể thêm các yếu tố khác. Quyết định sử dụng một biến thể hoặc biến thể khác có thể dựa trên các quy tắc lựa chọn hoặc bối cảnh, quy tắc lựa chọn mang tính toàn cầu hơn và bối cảnh nhiều hơn về những gì đang được xem xét, tức là nút được xem, v.v.


Vậy nếu chúng ta nói OO và B thừa hưởng A, B là biến thể của A trong Drupal?
Jérôme Verstrynge

3
Hmm, tôi không biết rằng các biến thể rất nghiêm ngặt, giống như cả A và B đều thừa hưởng từ một số đối tượng khác là chính trang đó.
Malks

5

Tôi chưa bao giờ bị buộc phải xác định nó trước đây, nhưng đây là một nỗ lực cho nó.

"Một biến thể là một phản hồi cụ thể đối với yêu cầu trên Trang", trong Trình quản lý trang. Hầu hết, bằng cách sử dụng Bảng điều khiển, điều này liên quan đến việc hiển thị một nút hoặc trang đầy đủ khác, nhưng không phải lúc nào cũng vậy.

Mặc dù có một số điểm tương đồng với "Hiển thị lượt xem", không giống như Hiển thị, Biến thể không có sự kế thừa giữa nhau. Tất cả các biến thể trên bất kỳ Trang cụ thể nào đều có cùng quy tắc truy cập cơ bản nếu có và bắt đầu với bất kỳ đối tượng ngữ cảnh nào mà trình quản lý Trang xuất phát từ URL, nhưng không nhận thức được nhau theo bất kỳ cách nào. Dựa trên các quy tắc lựa chọn, chúng được đánh giá từ trên xuống dưới. Quy tắc lựa chọn đầu tiên để trả về ĐÚNG, được chọn.

Một ví dụ phổ biến là tách hai loại nội dung / nút khác nhau, cho phép bạn hiển thị chúng hoàn toàn khác nhau. Vì mỗi biến thể có thể chọn bố cục riêng và đặt các trường / biểu mẫu / vv theo cách tùy ý, các loại "Bài viết" và "Blog" có thể trông hoàn toàn khác nhau. Trong trường hợp này, các biến thể sẽ tương ứng với node-article.tpl.php và node-blog.tpl.php.

Có nhiều " Phản hồi " khác có sẵn cho các Biến thể không liên quan đến việc sử dụng Bảng điều khiển , chẳng hạn như quản trị theo ngữ cảnh và mã Phản hồi HTTP đơn giản, nhưng tôi tin rằng câu trả lời này đủ dài.


1

Câu trả lời của Letharion và câu trả lời của Malks đều rất hay, nhưng hãy để tôi thêm một cái gì đó tôi nghĩ có thể hữu ích. (Và vui lòng để lại nhận xét nếu bạn nghĩ rằng tôi đã sai một số điều này và tôi sẽ sửa nó.)

Bạn có thể nghĩ Bảng điều khiển như một sự thay thế cho Khối, giống như chúng có thể được gọi là "Khối thông minh" (hoặc khối nhận biết ngữ cảnh hoặc đại loại như thế). Các bảng có thể xuất hiện khác nhau trong các bối cảnh khác nhau, vì đôi khi bạn có thể muốn nội dung của khối của mình hoạt động (xuất hiện) một chút khác nhau trên một trang so với trên trang khác. Làm điều này với các khối có thể là một chút bùn, vì vậy, Bảng cố gắng cải thiện vấn đề.

Một biến thể chỉ là một phiên bản khác nhau hoặc biến thể của cách hiển thị mọi thứ. Bạn có thể đặt bối cảnh và quy tắc lựa chọn để xác định biến thể sẽ sử dụng.

Vì vậy, trong ngắn hạn, một biến thể chỉ là một phiên bản của bảng điều khiển khối của bạn và mỗi bảng điều khiển cần ít nhất một phiên bản.

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.