在Kohana查看助手

时间:2011-07-07 09:25:15

标签: zend-framework kohana-3 view-helpers actionviewhelper

我想找到一种方法来执行以下操作:

我想制作一个动作,它将通过ajax加载,也可以在重新加载页面时加载到页面的内部部分。

我在ZEND框架中使用View Helper了解这一点,但不知道如何在Kohana

我是Kohana的新手。

修改 我要做的事情示例http://www.espncricinfo.com/west-indies-v-india-2011/engine/current/match/489228.html?CMP=chrome

在上面的网页中加载整个网页时,实时记分板会加载它。但是当你点击“刷新记分牌”按钮时,只有现场记分牌会被ajax取代。

我想创建一个动作说action_scoreboard,用于带来记分板数据。并action_index加载整个页面,但在action_index的视图中,我需要调用action_scoreboard

谢谢

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

我使用了Kopjax - Pjax jQuery ajax模块。其代码可在gitgub

上找到