我想在我想要在表单中显示现有数据之前编辑特定的表行。
从我使用表单装饰器显示。
如果我评论表单装饰器IT工作正常。
我使用了$ form-> populate($ row);但它没有填写表格。
请查看以下adminController.php代码
public function indexAction() {
$form = new Application_Form_articleForm();
$this->view->form = $form;
$content = new Application_Model_Content();
$id = $this->_request->getParams('id');
$row = $content->find($id)->toArray();
$form->populate($row[0]);
}
模型文件
<?php
class Application_Model_Content extends Zend_Db_Table
{
protected $_name = "content";
}
表格
<?php
class Application_Form_articleForm extends Zend_Form
{
public function init()
{
$this->setMethod('post');
$id = $this->createElement('hidden','id');
$content_name = $this->createElement('text','content_name');
$content_name->setLabel('URL name:')
->setAttrib('size',250);
$this->addElements(array(
$id,
$content_name
));
$this->setDecorators(array(array('viewScript', array('viewScript' => 'admin/articleFormDecorator.phtml'))));
}
}
articleFormDecorator.phtml
<form action="" method="post" enctype="application/x-www-form-urlencoded">
<header><h3>Post New Article</h3></header>
<div class="module_content">
<fieldset>
<label>URL name</label>
<input type="hidden" name="id" id="id">
</fieldset>
<fieldset>
<label>Content</label>
<textarea rows="12" name="content_name" id="content_name"></textarea>
</fieldset>
请帮我以表格形式获取价值。
答案 0 :(得分:1)
你可以添加这样的条件,
if ($this->getRequest()->isPost())
然后更新值并将其存储在数据库中的过程
而在其他方面,您可以填充表单,如
else{
$id = $this->_getParam('id', 0);
if ($id > 0) {
$row = $content->find($id)->toArray();
$form->populate($row[0]);
}
答案 1 :(得分:0)
我得到了解决方案 我们需要在表单
中添加带有表单元素的下面一行$content_name = $this->createElement('text','content_name');
$content_name->setLabel('URL name:')
->setAttrib('size',250);
并在html中显示表单元素,如下面的表单装饰文件
中所示<?php echo $this->element->content_name ?>