0

私は次のことを行う方法を見つけようとしています:

ページがリロードされたときにajaxとページの内部部分を介してロードされるアクションを作成したいと思います。

View HelperZENDを使用してフレームワークでこれを知っていますが、方法がわかりませんKohana

コハナは初めてです。

編集: 私がやろうとしていることの例http://www.espncricinfo.com/west-indies-v-india-2011/engine/current/match/489228.html?CMP=chrome

上記のWebページでは、Webページ全体がロードされると、ライブスコアボードにロードされます。ただし、[スコアボードの更新]ボタンをクリックすると、ライブスコアボードのみがajaxに置き換えられます。

action_scoreboardスコアボードデータを取得するために使用されるアクションを作成したいと思います。そしてaction_index、ページ全体をロードするために、しかしaction_index私がビューにいる間、を呼び出す必要がありますaction_scoreboard

ありがとう

4

2 に答える 2

0

これが最善の方法かどうかはわかりませんが、これが私が状況に対処する方法です。

public function action_index($raw = 0) {
    $records = Jelly::select('scores')->execute();

    if ($raw == 0) {
        $view = new View('purdy');
        $view->records = $records;
        $this->template->content = $view;
    } else {
        $this->auto_render = FALSE;
        $this->request->headers['Content-Type'] = 'text/xml';
        $view = new View('raw');
        $view->records = $records;
        $this->response->body($view->render());
    }
}

### THE PURDY VIEW ###
<table>
    <? 
    foreach ($records as $record) {
        echo '<tr>';
        echo '<td>'.$record->name.'</td>';
        echo '<td>'.$record->value.'</td>';
        echo '</tr>';
    }
    ?>
</table>

### THE RAW VIEW ###
<?xml version="1.0" encoding="utf-8"?>
<scores>
    <? 
    foreach ($records as $record) {
        echo '<score>';
        echo '<name>'.$record->name.'</name>';
        echo '<value>'.$record->value.'</value>';
        echo '</score>';
    }
    ?>
</scores>
于 2011-07-13T19:55:32.363 に答える
0

Kopjax-PjaxjQueryajaxモジュールを使用しました。そのコードはgitgubで入手できます

于 2011-07-14T09:45:36.637 に答える