社交引擎呈现表单问题

时间:2012-11-15 18:32:49

标签: php zend-framework socialengine

我在SE4中将一些页面添加到默认布局编辑器中。我所做的只是将页面添加到core_pages表并编辑core_content表以添加主容器和中/右两列布局。一切正常,但现在我正在添加默认的创建视频页面(videos_index_create),我遇到了一些问题。

当我通过sql添加此页面时,我显然可以通过默认布局编辑器查看和编辑页面布局。实际上,当我保存更改时,这些不会反映到实时页面。如果我去控制器( Video / controllers / IndexController.php )并添加

$this->_helper->content->setNoRender() 

实时页面显示右侧边栏和中间内容,但带有

$this->_helper->content->setEnabled() 

它只显示默认的视频上传表单。

所以我在这里编辑了 create.tpl

<?php if (($this->current_count >= $this->quota) && !empty($this->quota)):?>
<div class="tip">
<span>
  <?php echo $this->translate('You have already uploaded the maximum number of videos allowed.');?>
  <?php echo $this->translate('If you would like to upload a new video, please <a href="%1$s">delete</a> an old one first.', $this->url(array('action' => 'manage'), 'video_general'));?>
</span>
</div>
<br/>
<?php else:?>
<?php echo $this->form->render($this); ?>
<?php endif; ?>

更改else删除echo语句并添加一个简单的 echo'foo'; 。现在,实时页面正确显示我的布局(中间+右侧)和默认内容(“foo”)。

我认为这个问题与控制器中的这一行有关:

$this->view->form = $form = new Video_Form_Video();

但是我不能再进一步......这个自定义表单类( Video / Form / Video.php )似乎没什么特别的,我无法弄清楚为什么它的渲染会破坏默认的布局渲染。

任何社交引擎专家都在这里帮助我? :)

1 个答案:

答案 0 :(得分:0)

如果它是一个Zend_Form我很确定你应该这样做:

<?php echo $this->form;?>

在您看来,不要自己调用渲染。 如果它不是Zend_Form,请发布表单的代码,它可能有一些CSS或什么打破你的布局。