Vì vậy, tôi đang làm việc (làm việc với dữ liệu nhạy cảm mà tôi có thể thêm vào vì lợi ích), và quyền hạn quyết định chúng ta cần sử dụng công cụ mới mạnh mẽ và ít tài liệu nhất của Cakephp 3.0 (beta tại thời điểm này).Cakephp 3 nhiều formhelpers mẫu tùy chỉnh
Chỉnh sửa: Mục tiêu của tôi là tạo nhiều mẫu khác nhau cho biểu mẫu để gọi qua mẫu formhelper hoặc phương thức nhập. Có thực sự không phải là một ví dụ tốt cho việc này. Tùy chỉnh Templates FormHelper Sử dụng: Như đã thấy trong cuốn sách (và nơi nào khác trên internet bất cứ nơi nào) các tài liệu hướng dẫn rất ngắn gọn là như sau: trang web http://book.cakephp.org/3.0/en/core-libraries/helpers/form.html#customizing-the-templates-formhelper-uses
cho biết bạn có thể sử dụng mẫu phương pháp và sau đó cung cấp cho một mơ hồ " sử dụng ":
$myTemplates = [
'inputContainer' => '<div class="form-control">{{content}}</div>',
];
$ this-> Form-> templates ($ myTemplates);
Sau đó, nó cho biết bạn có thể sử dụng phương thức input() mà nó không đưa ra ví dụ. Và cuối cùng nhưng không kém phần mẫu tùy chỉnh FormHelper sẽ cho phép bạn "tạo" hoặc "tạo" như nhiều trình tạo biểu mẫu tùy chỉnh như bạn muốn, nhưng họ không đưa ra ví dụ về cách làm điều đó !? lulwut?
Tôi có thể dễ dàng sử dụng nó một lần như ví dụ của họ, nhưng sức mạnh của một mẫu tùy chỉnh ở đâu? Điều đó không làm tôi bất kỳ điều gì.
Vì vậy, bằng một giải pháp mới có thể, tôi thử và gặp lỗi mới.
tôi nhận được lỗi này (trong quan điểm của tôi) (từ đoạn mã sau):
Fatal Error Lỗi: Class 'Cấu hình' không tìm thấy
//within bootstrap.php
Configure::write('templates', [
'shortForm' => [
'formstart' => '<form class="" {{attrs}}>',
'label' => '<label class="col-md-2 control-label" {{attrs}}>{{text}}</label>',
'input' => '<div class="col-md-4"><input type="{{type}}" name="{{name}}" {{attrs}} /></div>',
'select' => '<div class="col-md-4"><select name="{{name}}"{{attrs}}>{{content}}</select> </div>',
'inputContainer' => '<div class="form-group {{required}}" form-type="{{type}}">{{content}} </div>',
'checkContainer' => '',],
'longForm' => [
'formstart' => '<form class="" {{attrs}}>',
'label' => '<label class="col-md-2 control-label" {{attrs}}>{{text}}</label>',
'input' => '<div class="col-md-6"><input type="{{type}}" name="{{name}}" {{attrs}} /></div>',
'select' => '<div class="col-md-6"><select name="{{name}}"{{attrs}}>{{content}}</select> </div>',
'inputContainer' => '<div class="form-group {{required}}" form-type="{{type}}">{{content}} </div>',
'checkContainer' => '',],
'fullForm' => [
'formstart' => '<form class="" {{attrs}}>',
'label' => '<label class="col-md-2 control-label" {{attrs}}>{{text}}</label>',
'input' => '<div class="col-md-10"><input type="{{type}}" name="{{name}}" {{attrs}} /> </div>',
'select' => '<div class="col-md-10"><select name="{{name}}"{{attrs}}>{{content}}</select> </div>',
'inputContainer' => '<div class="form-group {{required}}" form-type="{{type}}">{{content}} </div>',
'checkContainer' => '',]
]);
//within my view
<?php
$this->Form->templates(Configure::read('templates.shortForm'));
?>
Cũ Cập nhật: Tôi thêm
use "Cake\Core\Configure;"
theo quan điểm của tôi và mọi thứ hoạt động tốt, nhưng tôi muốn thêm tệp này vào tệp thích hợp trong phân cấp y để tôi không phải thêm điều đó vào mỗi chế độ xem,
đó là trừ khi tất nhiên nó gây ra các vấn đề về hiệu quả cho toàn bộ ứng dụng. Có ai biết nó nên đi vào đâu không? Trân trọng và TIA!
Cập nhật mới nhất: Tôi đã tìm ra. Quá dễ! kiểm tra câu trả lời của tôi dưới đây!Hy vọng điều này giúp một ai đó
Vậy bạn muốn gì? Điều này nghe có vẻ giống như một đơn khiếu nại khá dài nhưng thậm chí không cho chúng tôi biết mục tiêu của bạn là gì? Ngoài ra, nếu bạn đọc kỹ tài liệu, đây không phải là về một khuôn mẫu duy nhất nhưng bạn có thể tùy chỉnh bất kỳ đầu ra nào bằng cách sử dụng phương thức templates() bằng cách truyền một tập các mẫu. – burzum
Như tôi đã nói, có, tôi đồng ý rằng đây là những gì tài liệu nói như nó là hiển nhiên. Vấn đề của tôi là ... làm thế nào? làm thế nào để bạn tạo ra các mẫu này. Họ thậm chí không tạo ra bất kỳ mẫu nào trong ví dụ mà họ đưa ra. Họ chỉ đơn giản là đưa ra một mặc định cổ phiếu đơn lẻ làm ví dụ. Nếu tôi muốn tạo ba hoặc bốn mẫu tùy chỉnh riêng biệt, cách thực hiện điều này? Tôi tìm thấy một trang web: http://www.sanisoft.com/blog/2014/08/11/twitter-bootstrap-forms-cakephp-3/ Anh ấy làm một điều tương tự, nhưng giải thích rằng vì thiếu tài liệu anh ấy chọn để tạo các tiện ích tùy chỉnh làm biểu mẫu nhập mẫu tùy chỉnh thông qua FormHelper. – Urasquirrel