Посмотреть помощник в Кохане
Я пытаюсь найти способ сделать следующее:
Я хочу сделать действие, которое будет загружено через ajax, а также его внутреннюю часть страницы при перезагрузке страницы.
Я знаю это в ZEND
фреймворк с помощью View Helper, но не знаю, как это сделать в 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 ответа
Я использовал Kopjax - Pjax JQuery AJAX модуль. Его код доступен на gitgub
Не уверен, что это лучший способ сделать это, но мне нравится справляться с ситуацией.
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>