所以我在工作中(爲了後代的緣故,我可能會加上敏感數據),以及我們需要使用Cakephp 3.0所有功能強大且最少記錄的新工具來決定的權力(測試版)。Cakephp 3多個自定義模板formhelpers
編輯:我的目標是創建幾個不同的模板,以通過formhelper模板或輸入方法調用窗體。這真的沒有什麼好的例子。 自定義表單助手採用模板: 正如本書上看到的(並且無處在互聯網上的任何地方)在很短的文件是這樣的: http://book.cakephp.org/3.0/en/core-libraries/helpers/form.html#customizing-the-templates-formhelper-uses
該網站說,你可以使用模板方法,然後給出一個模糊的「使用「:
$myTemplates = [
'inputContainer' => '<div class="form-control">{{content}}</div>',
];
$ this-> Form-> templates($ myTemplates);
然後它說你可以使用input()方法,它沒有給出任何例子。 最後但並非最不重要的是,自定義模板FormHelper應該允許你像許多這樣的自定義formhelpers「製作」或「創建」,但是他們沒有舉例說明如何做到這一點! lulwut?
我可以很容易地使用它,就像他們的例子一樣,但是單個自定義模板中的力量在哪裏呢?這對我毫無益處。
所以通過一個新的可能的解決方案,我嘗試並得到一個新的錯誤。
我得到這個錯誤(我的觀點中)(從下面的代碼):
致命錯誤 錯誤:類 '配置' 未找到
//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'));
?>
舊更新:我添加
use "Cake\Core\Configure;"
在我看來,一切都很好,但我想將它添加到層次結構中的適當文件y,這樣我就不必將它添加到每個視圖中,除非它當然會導致整個應用程序的功效問題,所以我不需要將它添加到每個視圖中,即
。有誰知道它應該進入哪個文件?問候和TIA!
最新更新:我只是想通了。很簡單!在下面檢查我的答案!希望這有助於有人
那麼你想要什麼?這聽起來像是一個很長的投訴,但甚至沒有告訴我們你的目標是什麼?另外,如果仔細閱讀文檔,這不是關於單個模板,但您可以通過傳遞一組模板來使用templates()方法自定義任何輸出。 – burzum 2014-09-26 22:24:40
正如我所說,是的,我同意這是文件說明,因爲它是顯而易見的。我的問題是...怎麼樣?你如何創建這些模板。他們甚至沒有在他們提供的例子中創建任何模板。他們只是以單一股票默認爲例。如果我想創建三個或四個單獨的自定義模板,這是如何完成的?我找到了一個網站:http://www.sanisoft.com/blog/2014/08/11/twitter-bootstrap-forms-cakephp-3/他做了類似的事情,但解釋說,由於缺乏文檔,他選擇通過FormHelper創建自定義小部件作爲自定義模板輸入表單。 – Urasquirrel 2014-09-26 22:44:52