2012-08-01 2 views
6
내가 레이블 생성하기 위해 양식 도우미를 사용하고

:케이크 PHP 2 사용자 정의 서식 -> 라벨

$this->Form->label('Contact.name', 'Name'); 

다음 생성

<label for="ContactName">Name</label> 

는 다음 사용을 생성 할 수를 도우미 :

위의 html을 수동으로 작성할 수 있지만 사용하는 동안 조금 더 어려워집니다. 라벨이 자동적으로 생성되는 입력 메소드. 예를 들어

:

$this->Form->input('Contact.forename',array('div' =>false, 
        'label' => array(
        text'=> 'First Name',class =>'myclass'), 
        'class' => 'input','size' => '25' ,'tabindex' => '1')); 

케이크이 가능 아니면 수동으로 페이지가로드 될 때 자바 스크립트를 사용하여 HTML을 주입해야합니까? 내가 생각하기에 다소 못 생겼다.

답변

8

당신이 레이블을 생성하지 않으려면 다른 사람이 follows-

echo $this->Form->label('name', '<span class="mandatory">*</span> Name'); 

로 도우미를 사용하여 다음 라벨에 자동으로 적용 '*'CakePHP의 필수 필드 모델 유효성 검사를 사용하는 경우 도우미를 사용하는 동안 자동으로 "label => false"를 사용할 수 있습니다.

echo $this->Form->input('Contact.forename',array('label' =>false)); 
+0

많은 감사. form-> input을 사용할 때만 화면 표시 확인 오류가 발생하고 form-> text를 사용하는 경우에는 표시하지 않는 등 두 가지를 모두 사용하여 끝냈습니다. $ this-> Form-> label ('Contact.forename', ' * 이름'); $ this-> Form-> input ('Contact.forename', array ('div'=> false, 'label'=> false, 'class'=> 'input', 'size'=> '25' 'tabindex'=> '2')); 잘 작동합니다 :-). – Bear

4

확실하지 않은 CakePHP는 이것을 지원합니다 (어쨌든 조금 어질러집니다).

$this->Form->label('User.name', 'Your username', array('class'=>'mandatory')); 

같은 생산 :

<label class="mandatory" for="ContactName">Name</label> 

그런 다음 나머지는 CSS 순전히 수행을 내가 생각할 수있는 가장 간단한 해결책은 양식 도우미를 통해 라벨에 "필수"클래스를 할당하는 것입니다 :

추가 HTML이 필요하지 않습니다.

+0

답변을 주셔서 감사합니다. 이런 식으로 생각하지 않았습니다. 내가 보는 유일한 단점은 다른 콘텐츠에 대해 여러 클래스를 만들어야한다는 것입니다. 내가 (해당되는 경우) 내용으로 원한다면 고려하십시오. – Bear

0

당신은 간단한 나는 이것이 오래 알고,하지만 어쩌면 CakePHP의 3 누군가가 동일한 문제를 겪고

echo $this->Form->input('whatever', array('between'=>'<label for="ContactName"><span class="mandatory">*</span> Name</label>','label'=>false)); 
1

으로 할 수 있습니다. 이것은 어떤 inlinecode도없이 나를 위해 그것을 고쳤다.

<?php 
echo $this->Form->input(
'renovate_old', 
[ 
'type' => 'checkbox', 
'label' => ['text' => __('Alte Wohnung'), 'class' => 'moCheckLabel'] 
]); ?> 

레이블을 지정하고 Databasefield를 사용하여 작성할 수 있습니다.