我在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 )似乎没什么特别的,我无法弄清楚为什么它的渲染会破坏默认的布局渲染。
任何社交引擎专家都在这里帮助我? :)
答案 0 :(得分:0)
如果它是一个Zend_Form我很确定你应该这样做:
<?php echo $this->form;?>
在您看来,不要自己调用渲染。 如果它不是Zend_Form,请发布表单的代码,它可能有一些CSS或什么打破你的布局。