我创建了一个带有文本字段的元素(状态栏与Facebook相同),我在家庭/显示视图中进行了扩展。
元素代码:
<?php
echo $this->Html->css('notes');
echo $this->Html->script(array('jquery','jquery.elastic','notes'));
?>
<div class="notescontainer">
<div class="share">Share:</div>
<div class="notes">Notes</div>
<div class="loading"></div>
<div class="img_top"></div>
<div class="text_status">
<?php
echo $this->form->create('Note', array('action' => 'notes'));
echo $this->form->input('notes',array('class' => 'notesbar', 'label'=>'', 'placeholder' => 'Write down you notes ...'));
?>
</div>
<div class="button_outside_border" id="share">
<div class="button_inside_border">
<?php
echo $this->form->submit('Share',array('alt' => 'Add', 'class' => 'sharebutton'));
echo $this->form->end();
?>
</div>
</div>
<div class="clear"></div>
<div class="load_status_out"></div>
</div>
我希望当用户共享状态时,它应该重新出现在display / home的同一页面上,为此我创建了一个控制器来检索用户输入的状态。
控制器:
<?php public function notes()
{
$this->set('allnotes', $this->Note->find('all'));
}?>
控制器视图:
<?php
foreach($allnotes as $viewnotes):
{
echo $viewnotes['Note']['notes'];
echo "<br>";
}
endforeach;
?>
现在我希望此控制器视图显示在主页/显示视图上。有什么办法可以在那个元素中扩展它吗?我不想直接在我的家庭/显示器视图中添加它,因为它已经完全加载。
答案 0 :(得分:1)
您可以使用requestAction()来完成此任务,但根据我的经验,如果您需要,它会出现问题,并且会出现设计失败的迹象。 或者,您可以将所有视图转换为元素,这些元素可以以任意方式相互嵌入。然后,您可以在控制器中调用一些共享代码来填充所有必需的模型。