0

ホーム/ディスプレイビューで拡張したテキストフィールド(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>

ユーザーがステータスを共有すると、ディスプレイ/ホームと同じページに再表示されるようにしたいので、ユーザーが入力したステータスを取得するためのコントローラーを作成しました。

コントローラ:

<?php public function notes()
{
$this->set('allnotes', $this->Note->find('all'));
}?>

コントローラービュー:

<?php 

foreach($allnotes as $viewnotes):
{

    echo $viewnotes['Note']['notes']; 
    echo "<br>";
}
endforeach;
?>

ここで、このコントローラービューをホーム/ディスプレイビューに表示したいと思います。その要素でそれを拡張する方法はありますか?すでに完全にロードされているので、ホーム/ディスプレイビューに直接追加したくありません。

4

1 に答える 1

1

requestAction()を使用してこれを実行できますが、私の経験では、バグがあり、必要に応じて設計が失敗した兆候です。または、すべてのビューを要素に変換して、任意の方法で相互に埋め込むことができます。次に、コントローラーで共有コードを呼び出すだけで、必要なすべてのモデルにデータを入力できます。

于 2012-10-07T09:51:23.517 に答える