it-swarm-vi.com

Ghi đè chế độ xem thành phần cho một mục menu cụ thể

Làm cách nào tôi có thể ghi đè chế độ xem thành phần cho một mục menu cụ thể?

Đối với ghi đè toàn cầu, tôi có thể sử dụng template/html/com_xxx/.
[.__.] Nhưng làm thế nào tôi có thể làm điều đó chỉ cho một mục menu cụ thể?

Ví dụ :

Joomla! có một cái nhìn Blog cho bài viết.
[.___

6
Fedik

Cách 1 :

Sử dụng lớp CSS để làm cho nó hoạt động theo cách bạn mô tả.

  1. Thêm lớp vào mục menu (tại tab hiển thị trang, viết nó vào trường "Lớp trang"). Ví dụ: "trang đặc biệt" (lưu ý khoảng trắng trước lớp trang, nếu không có nó, nó sẽ nối nó với đầu ra được kết xuất thành phần). Tôi khuyên bạn nên sử dụng một lớp có thể được sử dụng trong nhiều tình huống.
  2. Khi ghi đè, bạn cần kịch bản "bộ lọc".

    if(strpos($this->pageclass_sfx, ' special-page') !== false) {
        $templateA = true;
    }
    
    if($templateA){
    (put your customized override here)
    }
    

Cách 2 :

Sử dụng ghi đè mẫu cho chế độ xem!

  1. Trong thư mục HTML của bạn để ghi đè, sao chép chế độ xem mong muốn (ví dụ: chế độ xem bài viết), bạn cần đổi tên nó và có tệp .xml với các tham số (sao chép từ chế độ xem trong thành phần và đảm bảo .xml có cùng tên với chế độ xem overriden!).

    ví dụ: Tạo chế độ xem quá mức của bài viết, hãy gọi nó là "đặc biệt", bạn sẽ cần sao chép default.php vào thư mục HTML của bạn trong mẫu của bạn (và đặt nó vào cấu trúc thư mục sau: com_content/article/ và đổi tên thành special.php). Đừng quên .xml (mà bạn cần sao chép và thậm chí điều chỉnh nếu cần) vào cùng thư mục với ghi đè và đổi tên thành special.xml

    Cập nhật chế độ xem với mã/kiểu ghi đè, v.v.

  2. Sau đó, đi đến mục menu và thay đổi nó thành loại menu mới (trong các bài viết, chọn special), kiểm tra nó!
4
jackJoe

Giải pháp chung :

Đối với mỗi mục menu, bạn có thể chọn một mẫu để áp dụng cho trang được liên kết, do đó bạn có thể sao chép mẫu của mình và tạo ghi đè chế độ xem trong mẫu trùng lặp.

Sau đó, bạn có thể chọn mẫu trùng lặp trong các tham số mục menu của mình và ghi đè sẽ chỉ có hiệu lực cho mục menu đó.

Với K2 :

Ví dụ của bạn, bạn có thể sử dụng K2. Với nó, bạn có thể tạo một số chế độ xem ghi đè với các tên khác nhau ..

Ghi đè trông như thế này:

template_name/html/com_k2/override_1
                         /override_2
                         /...

Sau đó, khi bạn chọn một mục K2 trong các tham số menu của mình, bạn có thể chọn ghi đè để áp dụng cho mục đó trên trang cụ thể đó. Điều này tránh tạo ra một số mẫu.

3
web-tiki