0

我正在向 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)似乎没什么特别的,我真的不明白为什么它的渲染会破坏默认布局渲染。

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

4

1 回答 1

0

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

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

在您看来,不要自己调用渲染。如果它不是 Zend_Form,请发布表单的代码,它可能有一些 css 或其他不会破坏您的布局的东西。

于 2012-11-15T22:27:31.403 回答