2011-05-04 6 views
15

내 프로젝트에 Zend-Framework을 사용하고 있습니다. 제출 버튼이있는 사용자 ID 및 비밀번호 입력란이 포함 된 젠드 양식을 사용하여 로그인 양식을 만들었습니다. 모든 것이 로그인 양식에서 올바르게 작동합니다.Zend Form 안에 하이퍼 링크를 씁니까?

어떻게 암호를 잊어 에 대한 가입 다른 하나는 다른 것입니다 로그인 폼 내부 이 하이퍼 링크를 추가하는 방법은 무엇입니까?

답변

11

나는, 이전과 같은 문제에 직면하고, 사용자 정의 Zend_Form_Element_Html을 만들어 그것을 해결했습니다

$tag = new Zend_Form_Element_Html('forgetPassword'); 
$tag->setValue('<a href="/forgotten-pwd">Forgotten your password?</a>'); 
$this->addElement($tag); 
:

class Zend_Form_Element_Html extends Zend_Form_Element_Xhtml { 
    /** 
    * Default form view helper to use for rendering 
    * @var string 
    */ 
    public $helper = 'formNote'; 

    public function isValid($value, $context = null) { 
     return true; 
    } 
} 

그래서, 당신의 형태로 방금 다음을 수행해야

희망이 도움이됩니다! 단지 장식에 대한

+0

이 감사 이봐, 그건 내가 요구 한 무엇입니까 ..... – Pushpendra

7

양식을 인쇄하는 뷰어 파일에서 예 : login.phtml

echo $this->form; 

당신이 다른 HTML 태그를 지정할 수 있습니다, 예를 들어, 링크

echo "<p><a href='".$this->url (array ('controller' => 'authentication', 
             'action' => 'lostPW'))."'> 
     Lost pw </a></p>"; 

그래서 실제로 양식 자체는 작성하지 않고 양식을 반향하는보기 스크립트에서 작성합니다.

3

이 시도 :

$passwordElement->setDescription('<a href="">Forgot password?</a>'); 
$passwordElement->getDecorator('Description')->setOption('escape', false); 

설명 장식이 필드 옆에이 텍스트를 추가합니다.

1

당신은 HTML 요소 또는 ViewScript을 렌더링 할 수있는 사용자 정의 Zend_Form_Element를 작성, Zend_Form_Decorator_ViewScript

를 사용하거나 할 수 있습니다. 다음과 같이

1

의 형식은 시도에 직접 사용

 $this->addElement(new Zend_Form_Element_Note(array(
      'name' => 'forgotten', 
      'value' => __('Forgot your password?'), 
      'decorators' => array(
       array('ViewHelper'), 
       array('HtmlTag', array(
        'tag' => 'a', 
        'href' => $this->getView()->url(array(
         'remind' 
        )) 
       )), 

      ) 
     )), 'forgotten'); 
관련 문제