我想利用ZendX_JQuery dialogContainer視圖助手,爲了產生一個模式窗口,用戶可以輸入指定的信息(例如發送消息)。我試圖以這種方式使用dialogContainer視圖助手。ZendX_JQuery dialogContainer使用
首先,將ZendX庫包含在應用程序庫文件夾中。
其次,包括在bootstrap.php中內initViewHelper方法以下行文件
「$視圖 - > addHelperPath( 'ZendX/JQuery的/視圖/助手/', 'ZendX_JQuery_View_Helper');」
第三,添加以下條件在layout.phtml使JS的
"<?php if($this->jQuery()->isEnabled()){
$this->jQuery()->setLocalPath($this->baseUrl()
.'/js/jquery/js/jquery-1.4.2.min.js')
->setUiLocalPath($this->baseUrl()
.'/js/jquery/js/jquery-ui-1.8.custom.min.js')
->addStylesheet($this->baseUrl()
.'/js/jquery/css/ui-lightness/jquery-ui-1.8.custom.css');
echo $this->jQuery();
}
?>"
第四,創建延伸ZendX_JQuery_Form
我Application_Form_JQueryForm"<?php
class Application_Form_JQueryForm extends ZendX_JQuery_Form
{
private $form;
public function init()
{
$this->form = $this->setAction(Zend_Controller_Front::getInstance()->getBaseUrl() . '/index/index')
->setMethod('post');
$this->form->setDecorators(array(
'FormElements',
'Form',
array ('DialogContainer', array(
'id' => 'tabContainer',
'style' => 'width: 600px;',
'title' => 'Send a private message to Kalle',
'JQueryParams' => array(
'tabPosition' => 'top',
),
)),
));
$topic = new Zend_Form_Element_Text('topic');
$topic->setValue('topic')
->setRequired(true)
->setValidators(array('validators' => array(
'validator' => 'StringLength',
'options' => array(1,15)
)))
->setDecorators(array(
'ViewHelper',
'Description',
'Errors',
array('HtmlTag', array('tag' => 'dl'))));
$textarea = new Zend_Form_Element_Textarea('textarea');
$textarea->setValue('post a comment')
->setAttribs(array(
'rows' => 4,
'cols' => 20
))
->setRequired(true)
->setValidators(array('validators' => array(
'validator' => 'StringLength',
'options' => array(1,15)
)))
->setDecorators(array(
'ViewHelper',
'Description',
'Errors',
array('HtmlTag', array('tag' => 'dl'))));
$submit = new Zend_Form_Element_Submit('submit');
$submit->setLabel('Send your comment')
->setDecorators(array(
'ViewHelper',
'Description',
'Errors',
array('Description', array('escape' => false, 'tag' => 'span')),
array('HtmlTag', array('tag' => 'dl'))))
->setDescription('or <a href="/index/index/send/false">Cancel</a>');
$this->form->addElements(array($topic, $textarea, $submit));
}
}」 這種形式然後在控制器實例化行動方法,並在視圖中調用。
所以對於我的問題,無論我是什麼嘗試爲了例如設置dialogContainer的寬度或任何其他參數(color,css,height等等),這是在表單的JQueryForm的setDecorator部分中,我似乎無法獲得在視圖中調用時任中所產生的模態任何變化,在適當的方向任何幫助將不勝感激
在此先感謝,卡爾·約翰遜
'jQueryParams'的'j'應該是小寫。 – shoaiblatif 2012-07-10 07:12:40