1
當使用$this->Form->input('fieldname')
時,CakePHP創建一個按照慣例使用字段名的標籤元素。我知道我可以指定另一個字符串用於標籤作爲輸入法的參數,但有什麼方法可以指定模型中的標籤名稱,所以我不必在多個ctp
文件中重複標籤名稱(例如,所以我只需要在一個地方改變它)?CakePHP標籤約定
當使用$this->Form->input('fieldname')
時,CakePHP創建一個按照慣例使用字段名的標籤元素。我知道我可以指定另一個字符串用於標籤作爲輸入法的參數,但有什麼方法可以指定模型中的標籤名稱,所以我不必在多個ctp
文件中重複標籤名稱(例如,所以我只需要在一個地方改變它)?CakePHP標籤約定
所以我創造了這個,同時快速測試,工作,但是,不能保證它沒有缺陷:
<?php
App::uses('FormHelper', 'View/Helper');
class MyFormHelper extends FormHelper {
public function label($fieldName = null, $text = null, $options = array()) {
if ($text === null) {
$entity = $this->entity();
$field = array_pop($entity);
$model = $this->model();
$object = $this->_models[$model];
if (isset($object->labels[$field])) {
$text = $object->labels[$field];
}
}
return parent::label($fieldName, $text, $options);
}
}
丟棄在app /查看/助手/ MyFormHelper.php
添加它的幫助器陣列和別名,如果你想。
添加一個public $labels
陣列與field => label-text
結構的模型。 希望它有效。
這就像一個冠軍,對不起,我花了這麼長的時間檢查標記:) –