开发者

View Helper in Kohana

开发者 https://www.devze.com 2023-03-18 09:38 出处:网络
I am trying to figure out a way to do the following: I want to make an action which will be loaded through ajax and also its the internal part of the page when page is reloaded.

I am trying to figure out a way to do the following:

I want to make an action which will be loaded through ajax and also its the internal part of the page when page is reloaded.

I know this in ZEND framework by using View Helper, But don't know how to do in Kohana

I am new to Kohana.

EDIT: Example of what I am trying to do http://www.espncricinfo.com/west-indies-v-india-2011/engine/current/match/489228.html?CMP=chrome

In above webpage when the whole web page is loaded the live score board is loaded with it. But when u click on "Refresh scoreboard" button only the live score board is replaced through ajax.

I want to create an action say action_scoreboard which will be used to bring scoreboard data. And action_index to load the whole page, but while in the view of action_index i开发者_开发技巧 need to call action_scoreboard.

Thanks


Not sure if this is the best way to do this, but this is how I like to handle the situation.

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>


I used Kopjax - Pjax jQuery ajax module. Its code is available on gitgub

0

精彩评论

暂无评论...
验证码 换一张
取 消