В соответствии с кодом, который вы указали, а именно эта строка:
'AjaxTab' => array('ajax' => $this->createUrl('/AjaxModule/ajax/reqTest01')),
Мы знаем, что нам нужен ajaxmodule, контроллер ajax, действие reqtest01, поэтому выполните следующие шаги:
Первый
Создайте модуль , он должен иметь имя AjaxModule .
Второй
Создайте контроллер в этом AjaxModule с именем Ajax .
Третий
Создайте действие в этом Ajax контроллере с именем ReqTest01 .
В рамках этого действия вы можете либо напрямую echo
html, либо использовать renderPartial()
, чтобы частично визуализировать файл представления для ajax.
Итак, ваш контроллер Ajax и действие внутри выглядит примерно так
<?php
class AjaxController extends Controller
{
public function actionIndex()
{
$this->render('index');
}
public function actionReqTest01(){
// directly echoing output is hardly of any use, like echo "Directly echoing this";
$this->renderPartial('rendpar_ajax'); // renderPartial is way better as we have a view file rendpar_ajax.php that we can manipulate easily
}
}
Четвертый
Теперь мы можем закодировать rendpar_ajax.php файл представления, создать этот файл в папке представлений контроллера ajaxController в модуле AjaxModule.
<?php
// rendpar_ajax.php file for ajax tab
// have any code here, use widgets, form, html helper etc
echo "<h1>AjaxModule--AjaxController--actionReqTest01</h1>";
echo "<p>This view is partially rendered</p>";
Подробнее о создании модулей, контроллеров, действий и их использовании, а также о том, как работает иерархия каталогов yii.
Удачи!
Редактировать: Обратите внимание, что для представления мы также можем передавать поставщики данных для получения сложных динамических представлений.