Подскажите, как использовать ajax в виджете
Создаю виджет не привязанный к контролам. В system\widjets создал папку виджета. В этой папке создал widjet.php. Подскажите, пожалуйста, где в каких файлах записать обработчик ajax-запросов и как вызвать из тела виджета?
Виджеты не могут обрабатывать запросы. Т.е. в вашем случае:
— дополнить экшеном существующий контроллер
— написать свой, например с одним экшеном.
Fuze, подскажите, пожалуйста схему использования ajax в instantcms-2.
Как я понимаю, во frontend контроллера нужно завести функцию actionWidget (так как вызов будет из виджета или темплейта виджета)
С помощью isAjax проверять тип запроса.
Каким образом осуществляется ajax-вызов из виджета?
Что-то типа
... $.ajax({ type: "POST", url: "http://site.ru/controller", data: {mode:"mode", tag:"tag"} }).done(function( result ) { $("#msg").html( result ); }); ...
Нет. Экшен может иметь абсолютно любое название, главное чтобы оно было вам понятно. Например, из виджета вы хотите получать по кнопке подгрузку записей. Делаете в своем контроллере экшен с названием, например show_more, и в js к нему обращаетесь.Как я понимаю, во frontend контроллера нужно завести функцию actionWidget (так как вызов будет из виджета или темплейта виджета)
... $.ajax({ type: "POST", url: "/controllername/show_more", data: {param:"bar", param2:"bar2"} }).done(function( result ) { $("#msg").html( result ); }); ...