2012-01-24 1 views
0

내 문제는 컨트롤러에 도우미를로드하는 방법을 알고 있지만 FormHelper가 아닌 HtmlHelper에서만 작동하는 것입니다.FormHelper를 컨트롤러 CakePHP 1.3에로드하십시오.

내가 이렇게 내 방법에로드 : 나는 그것을 OUPUT 때 잘 작동 Html 헬퍼 알 수없는 stdClas에 그렇지 않으면 .. 부하 : $ 모델 등

같은 몇 가지 오류가 발생했습니다

//this method is from an controller like page_controller  
function addField($pageID) { 

    if($this->RequestHandler->isAjax()) { 
     $this->autoRender = false; 
    } 

    App::import('Helper', 'Form'); 

    $form = new FormHelper(); 

    return $form->input('test'); 

} 

링크 방법 내보기에서 전체 렌더링 된 링크가 있어요.

새로운 입력을 Ajax에로드하는 것이 좋지만 작동하지 않으며 이유를 모르겠습니다. 내 문제를 이해하고 싶습니다.

+0

여기에 "나쁜 의도 코딩"... 그러나 다시 당신은 더 나은 아직 알고하지 않을 수 있습니다. 요리 책을 더 자세히 읽으십시오. – mark

+0

또한, App :: iNport 대신에'App :: iMport'를 사용하고 싶을 것입니다. 그러나 Mark가 옳습니다. 이것은 갈 길이 아닙니다. – Joep

+0

Sry 나는 잘못된 문자를 사용하여 편집 할 것입니다. 그리고 저는이 방법이 MVC를 사용하여 다른 방법을 찾을 수 있다는 것을 알고 있습니다 ... 그 이유는 제가 왜 2 일간의 연구 후에 그것을 발견 할 수 없기 때문에 제가 묻는 이유입니다. 나는 왜이 대답을 얻는 지 모르겠다. 너의 누군가가 대답을 알면 나는 그것을 찾을 수있다. 나는 내가 케이크 책에서 그것을 어디에서 발견하는지 안다면 나는 묻지 않을 것이다. 그리고 어떻게하면 내 대답을 찾을 수있는 사용하는 방법을 안다면 내가 어디에서 찾을 수있는 방법이나 올바르게 사용하는 방법을 알려주십시오. 나는 MVC 패턴을 안다. – webfacer

답변

2

뭘하고 있는지 잘못 알고 있습니다. 이것이 왜 작동하지 않으며 결코 작동해서는 안될 충분한 이유가 있습니다.

은 설명서 및 자습서에 설명 된대로 일반적인 MVC 절차를 사용합니다. 귀하의 경우 http://book.cakephp.org/

이 항상 뷰 템플릿 (/views/controllername/actionname.ctp) 를 사용하고 거기에 양식 물건을 둘 필요가 있다는 것을 의미한다.

+0

나는 그것이 모든 것을 담은 헤더 html을 렌더링 할 필요가 없다고 나는 말할 수있다. 렌더링하기 위해 입력 필드 만 필요하기 때문입니다. 한 명의 사용자가 me aens ajax 링크를 누르면 "add inputfiled"라고하고 구멍 사이트를 렌더링하지 않으려 고합니다. 어떻게 내가 이것을 깨달을 수 있는지 작년에 json에 대해 뭔가를 렌더링하는 방법을 발견했다. 그리고 내가 생각하는 것만 렌더링하는 hole html body를 줄 수있는 방법이 있다고 생각하지만, cakebook에서 다시 찾을 수있는 위치를 모른다. – webfacer

+1

당신은 당신의 나쁜 일에 상당히 저항하는 것 같습니다. 완전한 html 사이트를 렌더링하거나 단일 문자 만 출력하려는 ​​경우 중요하지 않습니다.당신은 항상보기를 사용합니다. 예를 들어 $ this-> layout = 'ajax'를 설정하여 추가 레이아웃을로드하지 않도록 할 수 있습니다. 그래서이 양식 필드가 하나만있을 것입니다. – mark

0

변경이 코드 아래

앱 :: 수입 ('도우미', '양식');

$ form = new FormHelper(); 코드 아래에이에

앱 :: 수입 ('도우미', '양식');

$ form = new FormHelper (new View());

다음과 같이 $ form-> input ('name');

당신이없는 (새로운보기()) I가 아래로 투표에 경사입니다