2012-05-10 7 views
2

CakePHP에서의 폼 헬퍼 생성 폼 요소 CakePHP는 :제거 줄 바꿈이 보통 같은

<div class="input text"> 
    <label for="Firstname">Firstname</label> 
    <input type="text" id="Firstname" value="" class="test" name="Firstname"/> 
</div> 

을하지만 갖도록 <label><input> 사이 줄 바꿈을 제거 할 수있다 다음과 같이 입력하십시오 :

<div class="input text"> 
    <label for="Firstname">Firstname</label> <input type="text" id="Firstname" value="" class="test" name="Firstname"/> 
</div> 

아무쪼록 바랍니다.

는 오히려 기본 CakePHP의 CSS에서, 당신은

+0

줄 바꿈이 잘못 되었나요? 하지 말아야 할 일이 있습니까? – lamelas

+0

줄 바꿈을 생성합니까? 내 응용 프로그램에서는 페이지 소스를보고 정확히 다음 내용을 가지고 있습니다. '

'태그 사이에 공백이 없습니다. – tigrang

+0

예, 줄 바꿈을 넣었습니다. 이유를 모르겠습니다. – user765368

답변

6

은 "줄 바꿈"는 HTML에없는 감사드립니다. 이 문제를 해결하기 위해, 내가 구워 CakePHP의 응용 프로그램에 다음과 같은 CSS 규칙을 추가 :

label { 
    display: inline; 
    width: 20%; 
    float: left; 
} 
input, textarea { 
    width: 76%; 
    clear: none; 
} 
form div.submit { 
    clear: none; 
    display: inline; 
} 

을이 기본적으로 라벨과 입력 모두를 인라인, 적절하게 그들을 위해 폭을 설정합니다 (당신은을 변경할 수 있습니다 길이에 따라 앱의 숫자가 달라집니다.)

이 기능이 작동하는지 알려주세요. APP/webroot/css/cake.generic.css의 맨 아래에이 줄을 추가하거나 원하는 경우 새 CSS 파일을 추가 할 수 있습니다.

0

@ srs2012의 답변에 동의하지만 형식 도우미의 출력을 형식화하는 방법이 있습니다.

FormHelper :: input() 액션은 두 번째 매개 변수에 'format'키도 허용합니다. 이 키는 요소 순서에 대한 형식 템플리트입니다. 기본 입력 형식 순서는 다음과 같습니다.

array('before', 'label', 'between', 'input', 'after', 'error') 

배열에없는 요소는 출력되지 않습니다. 따라서 이것을 수정하고 '사이'키를 제거하면 작동 할 수 있습니다. 예를 들어

: 나는 실제로 프로젝트에서 한 번만 설정을 사용해야했다

echo $this->Form->input('Model.name', array('format' => array('before', 'label', 'input', 'after', 'error'))); 

. Here it is은 CakePHP 1.3 API에 있습니다. 조금 놀아 라. 당신이 무엇을 생각해 낼 수 있는지 보아라.

관련 문제