Site geniş Zend_Form

2 Cevap php

Nasıl benim layout.phtml için bir form ekleyebilirsiniz?

Ben sitemde her formu ile devam eden bir arama formunu ve giriş formu var edebilmek istiyorum.

2 Cevap

http://blog.zero7ict.com/2009/11/how-to-create-reusable-form-zend-framework-zend%5Fform-validation-filters/: Ben bu açıklayan bir blog yazısı var

Application klasöründe bir klasör oluşturun Formlar

Bu örnek bir şeklidir:

<?php
class Form_CreateEmail extends Zend_Form
{
public function __construct($options = null)
{
	parent::__construct($options);

	$this->setName('createemail');
	$title = new Zend_Form_Element_Text('title');
	$title->setLabel('Subject')
	->setRequired(true)
	->addFilter('StripTags')
	->addFilter('StringTrim')
	->addValidator('NotEmpty');
	$info = new Zend_Form_Element_Textarea('info');
	$info->setLabel('Email Content')
	->setAttribs(array('rows' => 12, 'cols' => 79)); 
	$submit = new Zend_Form_Element_Submit('submit');
	$submit->setAttrib('id', 'submitbutton');
	$this->addElements(array($title, $info, $submit));
}

}
?>

Daha sonra bu gibi denetleyicisi çağırabilirsiniz:

$form = new Form_CreateEmail();
    	$form->submit->setLabel('Add');
    	$this->view->form = $form;

Ve kullanarak görüntüleyebilirsiniz onu görüntülemek

echo $this->form;

Umarım bu yardımcı olur.

Düzenleme: Bu everypage dahil olmak istiyorsanız, yeni bir yardımcı dosyası oluşturabilirsiniz

görüşleriniz bir yardımcıları klasör oluşturun ve bir loginHelper.php dosyası oluşturmak klasörü içinde

class Zend_View_Helper_LoginHelper
{
    function loginHelper()
    {

$form = new Form_CreateEmail();
        $form->submit->setLabel('Add');
        return = $form;

    }
}

Bu kullanarak düzeni çıkışı olabilir:

<?php echo $this->LoginHelper(); ?>

Lütfen Düzen sadece yapın:

$form = new Loginform();
echo $form->render();

Sen sadece şu anda üzerinde ne olursa olsun Controller POST değil, bu yüzden size POST formu için Kontrolör / Aksiyon belirttiğiniz emin olmak gerekir, wich varsayılan davranıştır.