2012-04-25 35 views
8

Tôi là người mới trong Yii Framework và tạo CRM dựa trên mô đun. Sử dụng các hướng dẫn khác nhau Tôi có thể tạo chủ đề của riêng mình, nhưng bây giờ tôi bị mắc kẹt tại một thời điểm.Chủ đề và bố cục trong khung yii

Trong chủ đề của tôi, phía trên <nav> và trái <nav> vẫn là cùng suốt ứng dụng, đến khi người dùng đăng nhập. Đó là lý do tại sao tôi đã làm cho nó là một phần của main.php tôi, nhưng trong trang đăng nhập có không có nút nào để hiển thị, chỉ cần đơn giản biểu mẫu đăng nhập với 2 trường văn bản.

Làm cách nào để triển khai biểu mẫu này trong ứng dụng của tôi bằng các chủ đề tùy chỉnh?

Tôi đã cố gắng xác định bố cục trong hành động cụ thể đó nhưng không thành công. Bất kỳ trợ giúp sẽ được đánh giá cao.

+1

Xin hãy giải thích và hiển thị một số mã, tôi có thể có thể cung cấp cho bạn những ý tưởng nhưng tôi không hiểu rõ vấn đề này. – ddinchev

+0

Câu hỏi này không liên quan đến mã như bố cục trong khung yii đã được tạo bởi cấu trúc thư mục và chỉ mục mảng đơn trong tệp main.php. Tôi chỉ đơn giản muốn biết rằng có cách nào để sử dụng chủ đề khác nhau cho chỉ một trang? –

Trả lời

13

Sử dụng bố cục tùy chỉnh cho chế độ xem của bạn là đúng cách để đi. Bạn có thể đặt bố cục trong thao tác bộ điều khiển hoặc trong giao diện.

$this->layout = "//layouts/mylayout"; 

Lưu ý rằng việc bố trí mặc định column1.phpcolumn2.php cũng sử dụng main.php tập tin bố trí.

+0

tôi đã thử điều này nhưng không có may mắn .... –

+0

ouput của bạn là gì? a) Chỉ nội dung "thô"? -> Không tìm thấy tệp bố cục. b) Không có thay đổi rõ ràng? -> Bố cục không được áp dụng. Bạn đang sử dụng phiên bản Yii nào? – schmunk

+1

vâng nội dung được hiển thị ở định dạng thô và bạn đúng là lỗi nằm trong đường dẫn tôi đã sử dụng bố cục thay vì bố cục. Cảm ơn bạn đã giúp đỡ. –

7

Hãy thử bước này bằng cách bước:

  1. Tạo chủ đề mới

    Bạn có thể tạo một chủ đề mới và thêm video này vào thư mục Application_Root/themes.

    Xem chủ đề/thư mục cổ điển để có ý tưởng về cấu trúc của thư mục. Các tập tin quan trọng (ở giai đoạn này) là: - Application_Root/themes/views/layouts/main.php

  2. Tùy chỉnh nội dung chủ đề của bạn

    Sao chép css, hình ảnh, các file js vv để các đúng thư mục và thay đổi tệp main.php theo ý thích của bạn. Ví dụ, nếu bạn main.php nói

    < link href = "css/mystyle.css" rel = "stylesheet" >

    Sau đó, bạn sẽ có một file Application_Root/css/mystyle.css

  3. Tạo trình giữ chỗ nội dung.

    Một nơi nào đó trong tệp main.php của bạn, sẽ có phần giữ chỗ cho văn bản động, được chỉ định bởi.

    <? Php echo $ content; ? >

  4. Yêu cầu yii sử dụng chủ đề. Thay đổi tệp Application_Root/protected/config/main.php bằng cách thêm dòng sau ngay trước dòng cuối cùng (chứa giá đóng).

    'chủ đề' => 'surveyhub'

  5. Tạo trình giữ chỗ bố cục.

    Tạo phân đoạn HTML sẽ được ghi vào phần nội dung $ của tệp main.php. Gọi nó là ví dụ one_column.php. Do đó, đường dẫn tệp sẽ là Application_Root/themes/views/layouts/one_column.php Trong tệp đó, nơi bạn muốn đặt văn bản động, hãy tạo một trình giữ chỗ.

    <? Php echo $ content; ? >

  6. Yêu cầu Yii sử dụng bố cục.

    Trong tập tin Application_Root/bảo vệ/components/Controller.php, thêm hoặc sửa đổi các biến bố trí để đọc:

    public $ layout = '// layouts/one_column.php';

  7. Làm mới trang

Các vấn đề liên quan