2012-09-08 4 views
0

CakePHP에서는 Form->create() 문에 'label'=>false을 'inputDefaults'에 넣어서 기본적으로 레이블을 해제 할 수있는 방법이 있습니다.CakePHP - 자리 표시 자에 대한 기본 레이블 대신

라벨을 모두 제거하는 대신 라벨을 요소 자리 표시 자 속성으로 변경하는 방법이 있습니까? 이것은 각 요소에 'placeholder'=>'Placeholder'을 추가하는 동안 Form->create에서 'inputDefaults'=>array('label'=>false)을 수행하는 것과 같습니다 ...하지만 각 요소에 추가하지 않고 CakePHP를 사용하지 않고 할 수있는 방법이 있습니까?

답변

3

수정 사항이 포함 된 FormHelper 사본을 실행할 수 있습니다. lib/Cake/View/Helper/FormHelper.php에서 FormHelper 버전을 복사하여 app/View/Helper/FormHelper.php에서 응용 프로그램에 붙여넣고 사본을 수정하십시오. 앱 폴더의 복사본은 코어에 제공된 복사본보다 우선합니다. 언제나 그렇듯이, 은 Core의 파일을 수정하지 마십시오.

양자 택일로, 당신은 당신의 자신의 도우미 클래스로 FormHelper를 확장 할 수 :

class MyFormHelper extends FormHelper { 
    ... 
} 

은 $ 도우미 배열에 'MyForm을'을 추가하는 것을 잊지 마세요!

어쨌든 당신이 묻는 것은 현재 Cake 2.x를 사용할 수 없습니다. 변경하지 않고 각 input() 호출의 options 배열에 'placeholder'=> '...'를 추가해야합니다. 이 변경을하면 CakePHP 커뮤니티에 다시 기고하여 다른 사람들이 여러분의 작업에서 이익을 얻을 수 있도록 고려하십시오!

관련 문제