2011-01-08 37 views
6

Làm thế nào tôi có thể thay đổi phần mở rộng cho CakePHP xem từ .ctp thành .phpCakePHP Xem thay đổi phần mở rộng

Tôi đã thấy có dòng này trong /cake/libs/view.php var $ext = '.ctp'; mà bộ phần mở rộng nhưng làm thế nào có thể Tôi làm điều đó từ/ứng dụng/thư mục của tôi để nó không ảnh hưởng đến các tệp lõi Cake.

Cảm ơn

Trả lời

10

Bạn có thể đặt phần mở rộng trong AppController của bạn với

public $ext = '.yourext'; 
+0

Điều gì về nhiều tiện ích mở rộng như chấp nhận cả .php và .ctp là có thể? – Cameron

+0

Bạn không thể chỉ định nhiều tiện ích mở rộng, tuy nhiên có vẻ như có sự cố quay trở lại .ctp nếu không tìm thấy tệp .php. Điều này không làm việc cho các yếu tố, mặc dù (tôi đã mở một vé cho vấn đề này). – dhofstet

1

Đây là là trả lời bình luận của Cameron về vấn đề của việc sử dụng nhiều phần mở rộng trong ánh sáng của CakePHP thực tế không cho phép bạn chỉ định nhiều tiện ích.

Tôi đang sử dụng Mustache cho một trang web duy nhất có sử dụng Merb, rails2, rails3 và CakePHP cho các phần khác nhau của trang web. Các trang web bánh "nhận" tập tin ria mép cho các yếu tố bố trí phổ biến nhưng các mẫu này có một phần mở rộng tập tin '.mustache' mà trang web bánh của tôi sẽ không nhận ra. Cách giải quyết của tôi về cơ bản là những gì dhofstet gợi ý chỉ đóng khung trong bối cảnh của usecase cụ thể của bạn. Tóm lại, hãy tạo một trình bao bọc trông giống như sau:

<? 
    $tmp = $this->ext; 
    $this->ext = '.mustache'; 
?> 
<?= $m->render($this->renderElement('moznav/advanced_header'), array('foo' => $bar)) ?><br /> 

<? $this->ext = $tmp; ?> 

Khi dòng trở về người gọi, bạn tiếp tục sử dụng phần mở rộng tệp gốc của mình.

0

How can I change the extension for CakePHP Views from .ctp to .php

I have seen there is this line in /cake/libs/view.php var $ext = '.ctp'; that sets the extension but how can I do it from my /app/ folder so it doesn't effect Cake core files.

dụ:

  • bạn có cái nhìn posts/add.ctp
  • bây giờ bạn đổi tên add.ctp vào add.php
  • và sau đó bạn chạy .../posts/add chương trình thông báo lỗi:

    Error: The view for PostsController::add() was not found.

    cho ứng dụng của bạn có thể hiểu được phần mở rộng .php, bạn thêm dòng công khai $ext = '.php' vào PostsController.php

  • bây giờ, bạn chạy lại. .posts/add => okie, cakephp hiểu gia hạn .php

Thông báo: nếu bạn sử dụng atrribute xem $ext = '.php' nhưng file có tên .ctp, cakephp gia hạn .ctp sẽ sử dụng theo mặc định

0

tôi thấy bài này vì tôi đã có cùng một vấn đề. Điều này không được đề cập trong tài liệu plugin TwigView chủ yếu trên Github. Tôi mệt mỏi với những tài liệu giải thích chỉ một nửa số thứ và chúng ta phải đoán nửa thứ hai. Đây là một sự lãng phí thời gian mà làm chậm dự án một cách vô nghĩa.

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