В Yii Framework для вызова action при клике на кнопку необходимо выполнить следующие шаги:
1. В представлении (View) нужно создать кнопку и назначить ей ID.
<?= Html::button('Click me', ['id' => 'myButton']) ?>
2. В JavaScript-скрипте нужно отследить событие клика на эту кнопку и выполнить AJAX-запрос к нужному контроллеру.
$('#myButton').click(function() { $.ajax({ url: 'site/my-action', type: 'GET', success: function(data) { // Обработка успешного выполнения AJAX-запроса }, error: function(xhr) { // Обработка ошибки AJAX-запроса } }); });
Здесь 'site' - это контроллер, в котором находится нужный action, и 'my-action' - это название самого action.
3. В контроллере (Controller) нужно определить метод, который будет обрабатывать вызов нужного action.
public function actionMyAction() { // Ваш код обработки действия }
4. При необходимости можно настроить маршрутизацию (Routing), чтобы запросы, поступающие на 'site/my-action', были правильно обработаны в контроллере.
Маршрутизация может быть настроена в конфигурационном файле (например, 'config/web.php').
// ... 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ // Правила для маршрутизации 'site/my-action' => 'site/my-action', // Пример правила для данного случая ], ], // ...
Таким образом, при клике на кнопку с ID 'myButton', будет выполнен AJAX-запрос к 'site/my-action' в контроллере 'site', что приведет к вызову метода 'actionMyAction()'.
Вам также следует учесть, что это основной концепт и вы можете адаптировать его под свои конкретные требования и логику.